<willl>
I would have thought that travis variable encryption would be tied to the account, and encrypted values not value on other's accounts. that seems not good
<willl>
oh nevermind, the encrypted one is for some slack account not irc. irc just happens
shama has quit [Quit: (╯°□°)╯︵ɐɯɐɥs]
waj has quit [Quit: waj]
mdz_ has joined #crystal-lang
mdz_ has quit [Remote host closed the connection]
vikaton has quit [Quit: Connection closed for inactivity]
NeverDie has quit [Quit: I'm off to sleep. ZZZzzz…]
datanoise has quit [Ping timeout: 246 seconds]
<crystal-gh>
[crystal] asterite pushed 1 new commit to master: http://git.io/vLcex
<crystal-gh>
crystal/master 55f9634 Ary Borenszweig: Allow initializing a BitArray to true
flaviu has quit [Remote host closed the connection]
flaviu has joined #crystal-lang
BlaXpirit has joined #crystal-lang
bcardiff has joined #crystal-lang
Ven has joined #crystal-lang
bcardiff has quit [Quit: Leaving.]
<crystal-gh>
[crystal] asterite pushed 1 new commit to master: http://git.io/vLWYt
<crystal-gh>
crystal/master ef54ad4 Ary Borenszweig: HTTP::Response: raise "unexpected end of http response" if first line is nil. Related to #822
havenwood has joined #crystal-lang
<unshadow>
jhass: I'm with you regarding the Exception handeling, but right now we have like maybe 10 subclasses, so the thing to do is to create more Exceptions subclasses for each module so this could work
<jhass>
yeah, I see no issue in doing that
mdz_ has joined #crystal-lang
bcardiff has joined #crystal-lang
<unshadow>
jhass: maybe i'll take the weekend to go over some modules and intorudce needed exceptions, though maybe it is better to do a list of modules -> exceptions, this way it will be easier to implament
<BlaXpirit>
finally got time to write an issue about my concerns on the use of C types in Crystal
<Guest25>
So I know one of the goals of Crystal is to be very similar to Ruby, but are there any plans to introduce interfaces?
<jhass>
I hope not but I'm afraid it's not out of question
<Guest25>
Why do you hope not?
<BlaXpirit>
there is no need for interfaces when duck typing is so strong in crystal
<crystal-gh>
[crystal] asterite pushed 2 new commits to master: http://git.io/vLlcz
<crystal-gh>
crystal/master 2b5cd6c Ary Borenszweig: Check byte index out of bounds in Regex#match_at_byte_index
<crystal-gh>
crystal/master 6756cfa Ary Borenszweig: Use `.crystal` directory for temporary files. Fixes #676
<jhass>
Crystal allows to get a long way with a duck typing programming style, I'd like to see what kind of community develops out of that combined with static typing
<Guest25>
but don't you need to use `respond_to?` for Duck typing to work correctly (because then the type system knows whatever object it is doesn't matter because it responds to something)?
<Guest25>
I'd rather not see `respond_to?` calls every where.
<Guest25>
Forgive me though, I'm really new to the language
<BlaXpirit>
Guest25, you are not supposed to need those
<BlaXpirit>
when a variable only ever uses types that respond to the same method, you can call this method on them
<jhass>
Guest25: ^ you rarely use those, you just call the method assuming it's there, the compiler will figure out whether it is in all cases
<jhass>
you actually very rarely need to distinguish between "if x responds to y do z and if x responds to y2 do z2" in a method
<jhass>
and if you do it's usually a sign you break SRP on the method level already
<Guest25>
Ahh.. ok cool. Sorry, I'm new to this
<jhass>
no worries
<jhass>
additionally most types define their converter methods to return self
<jhass>
so String#to_s, Int32#to_i etc all just return self
<jhass>
which means you wouldn't do x = x.to_s unless x.responds_to? :to_s
<jhass>
but just do x.to_s.upcase or whatever
<jhass>
and the to_s would be optimized away in the case of a string anyway
<Guest25>
Cool thanks
<BlaXpirit>
[:17:10] <jhass> it's not out of question
<BlaXpirit>
why? D:
<Guest25>
Is there a roadmap or a list somewhere of features and/or functionality that needs to be implemented... I may want to get involved
<Guest25>
For instance anything with STD libs?
<jhass>
BlaXpirit: I've seen asterite not ruling it out completely....
<jhass>
Guest25: asterite said he'll write something up soon, but in the meantime just look at the issue tracker or just use the language and I'm sure you'll find a hole to fix sooner or later ;)
<jhass>
my approach is to just monkey patch stuff into the core classes (you can reopen any class at any point) and later upstream the ones I deem useful
<jhass>
Guest25: oh, and one more point why I think interfaces are most likely not needed is that we got multiple inheritance (well, seemingly) via modules, which are sort of like interfaces but carrying implementation
<Guest25>
Well so far (and I am very new, so that's not that far) I've had trouble determining if something is intentionally left out or not
<Guest25>
String#dup
<Guest25>
for instance
<jhass>
since Strings are immutable copying them makes not a whole lot of sense ;)
<Guest25>
true. Coming from Ruby though the std lib has bang methods for mutation
<Guest25>
so I wasn't sure, but good point if you're going to keep all mutation methods out of String
<Guest25>
That brings up another point though... I'm having a hard time telling where and when you draw the line to copy something that ruby does vs introduce new convention
<jhass>
adhoc, as problems arise
<Guest25>
for instance I'm not fond of ruby's inconsistencies with mutation and bang methods. Like I don't understand why sometimes they use `!` for methods that mutate and sometimes they don't
<Guest25>
for instance, `Array#concat`
<jhass>
the very initial goal was to compile ruby, but then they decided to diverge in order to make a useful language :P
<Guest25>
I would expect that to have a bang on the end of it
<jhass>
oh, Ruby's rule is actually pretty simple once you know it
<jhass>
if a bang method exists, there's one without a bang that creates a copy
<jhass>
that holds true for Ruby core & stdlib, the Ruby community diverges from it sometimes, most prominently rails does
<Guest25>
Hmm... I would just expect anything that mutates to have a bang, more like clojure
<BlaXpirit>
well that's how it usually is
<Guest25>
I mean Array#concat is one example. I know there is Array#+ that doesn't mutate, but I would expect `Array#concat` not to mutate
<Guest25>
or have a bang
<Guest25>
so I know this mimics ruby but in a situation like this I'm wondering when you guys decide to refine conventions vs port Ruby's
<BlaXpirit>
sometimes they do exactly that
<jhass>
well, we do already have to cope with the "false friends" problem quite a bit already, especially for Rubyists
<BlaXpirit>
and i'm all for it, because i don't know ruby :p
waj_ has joined #crystal-lang
<havenwood>
Guest25: How many methods in Crystal would then get a bang? Really want all those exclamation marks? Is one convention so much better than the other to warrant a change?
waj has quit [Ping timeout: 245 seconds]
<Guest25>
I'm not saying they all have to be changed. I was wondering what the intent was and what drives the intent of these decisions. I have developed in both Ruby and Clojure the past couple years and I like how clojure follows this convention strictly. However, Clojure is also has strong emphasis on immutability whereas ruby does not.
waj_ is now known as waj
<havenwood>
Guest25: Yeah, I'm assuming that Matz didn't use a bang everywhere the receiver was modified because he thought it was ugly to have so many bangs. But I dunno.
<Guest25>
I mean I would sort of agree with the fact that it can get noisy. Though Ruby's standard lib is pretty huge, at least compared to something like Clojure. I guess I just feel that it is clean to denote the mutation with bangs. Or, at a minimum, having a (seemingly) inconsistent usage of the bang is a bit annoying to me in Ruby. But to be clear I'm not advocating Crystal should go change everything
<Guest25>
just trying to get a feel for how closely Crystal is trying to follow ruby
<Guest25>
maybe "follow" is the wrong word
<jhass>
let's say less and less :P
<jhass>
but if there isn't a clear advantage to not doing it, it pretty much still does
Ven has joined #crystal-lang
shama has joined #crystal-lang
wuehlmau1 has joined #crystal-lang
BlaXpirit_ has joined #crystal-lang
BlaXpirit has quit [Killed (barjavel.freenode.net (Nickname regained by services))]
wuehlmaus has quit [*.net *.split]
drizz has quit [*.net *.split]
drizz has joined #crystal-lang
jua_ has joined #crystal-lang
wuehlmau1 is now known as wuehlmaus
fowlduck_ has joined #crystal-lang
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
fowlduck has quit [Ping timeout: 256 seconds]
NeverDie has quit [Quit: I'm off to sleep. ZZZzzz…]
waj_ has joined #crystal-lang
waj has quit [Ping timeout: 265 seconds]
waj_ is now known as waj
Guest25 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
benjreinhart has joined #crystal-lang
jtarchie has joined #crystal-lang
bcardiff1 has quit [Quit: Leaving.]
BlaXpirit has quit [Ping timeout: 246 seconds]
waj_ has joined #crystal-lang
waj has quit [Ping timeout: 256 seconds]
waj_ is now known as waj
NeverDie has joined #crystal-lang
datanoise has quit [Ping timeout: 255 seconds]
Dreamer3 has quit [Read error: Connection reset by peer]
benjreinhart has quit [Read error: Connection reset by peer]
Dreamer3 has joined #crystal-lang
jua_ has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
grindhold has quit [Quit: No Ping reply in 180 seconds.]
grindhold has joined #crystal-lang
mdz_ has quit [Remote host closed the connection]
mdz_ has joined #crystal-lang
<crystal-gh>
[crystal] asterite pushed 3 new commits to master: http://git.io/vL4SA
<crystal-gh>
crystal/master da90aa0 Ary Borenszweig: Optimized HTTP::Headers and HTTP::Request parsing