mverzilli has quit [Quit: mverzilli]
whomp has quit [Ping timeout: 256 seconds]
asterite has joined #crystal-lang
mverzilli has joined #crystal-lang
asterite has quit [Client Quit]
asterite has joined #crystal-lang
asterite1 has joined #crystal-lang
asterite1 has quit [Client Quit]
asterite1 has joined #crystal-lang
asterite has quit [Ping timeout: 255 seconds]
asterite1 has quit [Client Quit]
e_dub has quit [Quit: ZZZzzz…]
e_dub has joined #crystal-lang
e_dub has quit [Read error: Connection reset by peer]
e_dub has joined #crystal-lang
e_dub has quit [Read error: Connection reset by peer]
e_dub has joined #crystal-lang
mverzilli has quit [Quit: mverzilli]
e_dub has quit [Read error: Connection reset by peer]
<jnoah> in the vim-crystal repo, the image shows a sample of crystal. What vim-theme is being used? I really like it
shama has quit [Quit: (╯°□°)╯︵ɐɯɐɥs]
<jnoah> are there any thoughts on libraries such as twisted or asyncio for crystal? maybe there's something from ruby that i'm unaware of being brought over that is similar?
<jnoah> twisted/asyncio are pythong libraries ftwdk
b_lumenkraft has joined #crystal-lang
<dts> i havent bothered keeping up with crystal, but isnt asyncio part of the standard python library?
<dts> for the record, according to #ruby, the ruby equivalent to pythons twisted is eventmachine
e_dub has joined #crystal-lang
e_dub has quit [Read error: Connection reset by peer]
e_dub has joined #crystal-lang
markgibbins has joined #crystal-lang
e_dub has quit [Quit: ZZZzzz…]
e_dub has joined #crystal-lang
canhtak has joined #crystal-lang
markgibbins is now known as xiy
<xiy> can anyone confirm this for me? (on master) https://gist.github.com/xiy/5f07de8b0298e6612c11
<jhass> xiy: the return type of a getter by default is assigned types|Nil, you can use a .not_nil! assertion or the getter!/property! macros which already include that
<jhass> or to be precise the type of instance variables, unless assigned in initialize, includes |Nil
<jhass> jnoah: there's https://github.com/manastech/crystal/blob/master/src/evented_io.cr but I think it's more in PoC state
e_dub has quit [Quit: ZZZzzz…]
<xiy> jhass: aha, so even though i'm assigning the instance var (line 5), it still has a Nil type?
<jhass> did you read up on crystals union types yet?
<xiy> thanks! i think i'm still trying to get my head around the difference between ruby and crystal's union types :)
<jhass> it actually is pretty much the same, just enforced by crystal at compile time
<jhass> you can only safely call those methods that are available on all types a variable might have
<xiy> what's the benefit to giving it a Nil type if it's not assigned in the initializer?
<jhass> it's simply true, you don't know if it was set yet
<jhass> so the instance exists without the variable set => it's nil
<jhass> so nil becomes a possible value of it
<xiy> so does that mean that if you assign it later on, it'll always have that Nil type and you'll then need to work around it any time you call it?
<jhass> yes
<jhass> you also can't guard on instance variables
<jhass> if @foo.is_a? Bar; # @foo is not guaranteed to be of Bar here; end
<jhass> that's because of threading another thread could change it between the guard and the next statement that relies on it
<xiy> hmm i'm not sure how i feel about that!
<jhass> the workaround is assigning it to a local first
<jhass> if you have a solution to those problems... ;)
<xiy> haha, it just puzzles me that a var can be both something and nothing at the same time
<jhass> nil is something, it just represents the absence of something else
canhtak has quit [Quit: canhtak]
waj has joined #crystal-lang
<xiy> does crystal have anything like the Option type in Scala? (http://www.codecommit.com/blog/scala/the-option-pattern)
<waj> you don't need it. In Crystal that would be a union between any class and Nil
<waj> which for convenience is displayed as "Foo?"
<waj> I mean: "Foo | Nil" is the same type as "Foo?"
<xiy> I think I'm starting to get it haha, thanks guys
<waj> then you can use "if" to check the value and the compiler will narrow down the type: http://crystal-lang.org/docs/syntax_and_semantics/if_var.html
<jhass> xiy: note that since nil is an object you can do something like case foo; when Foo; bla; when nil; blub; end
kostya has joined #crystal-lang
waj has quit [Quit: Leaving.]
waj has joined #crystal-lang
waj has quit [Quit: Leaving.]
bcardiff has joined #crystal-lang
mverzilli has joined #crystal-lang
canhtak has joined #crystal-lang
rpag has joined #crystal-lang
waj has joined #crystal-lang
canhtak has quit [Quit: canhtak]
canhtak has joined #crystal-lang
canhtak has quit [Quit: canhtak]
bcardiff has left #crystal-lang [#crystal-lang]
canhtak has joined #crystal-lang
canhtak has quit [Ping timeout: 264 seconds]
canhtak has joined #crystal-lang
asterite has joined #crystal-lang
e_dub has joined #crystal-lang
canhtak_ has joined #crystal-lang
canhtak has quit [Ping timeout: 255 seconds]
canhtak_ is now known as canhtak
asterite has quit [Quit: asterite]
waj has quit [Quit: Leaving.]
mverzilli has quit [Quit: mverzilli]
mverzilli has joined #crystal-lang
whomp has joined #crystal-lang
canhtak has quit [Ping timeout: 272 seconds]
waj has joined #crystal-lang
e_dub has quit [Quit: ZZZzzz…]
canhtak has joined #crystal-lang
e_dub has joined #crystal-lang
e_dub has quit [Client Quit]
canhtak has quit [Quit: canhtak]
whomp has quit [Quit: leaving]
kostya has quit [Quit: Leaving]
asterite has joined #crystal-lang
xiy has quit [Ping timeout: 272 seconds]
e_dub has joined #crystal-lang
e_dub has quit [Quit: ZZZzzz…]
_whitelogger has joined #crystal-lang
waj has quit [Quit: Leaving.]
waj has joined #crystal-lang
travis-ci has joined #crystal-lang
<travis-ci> manastech/crystal#1672 (master - bc9e017 : Juan Wajnerman): The build was fixed.
travis-ci has left #crystal-lang [#crystal-lang]
<jnoah> what's the ruby tag for? (as opposed to versioned tags)
travis-ci has joined #crystal-lang
<travis-ci> manastech/crystal#1673 (master - 1021d62 : Ary Borenszweig): The build passed.
travis-ci has left #crystal-lang [#crystal-lang]
<asterite> I think we put it there to remember what was the last commit that had ruby code in it… in case we loose the binaries we can compile a compiler from that version and eventually reach the current compiler :)
waj has quit [Quit: Leaving.]
waj has joined #crystal-lang
bcardiff has joined #crystal-lang
bcardiff has quit [Client Quit]
rpag has quit [Quit: Leaving]
waj has quit [Quit: Leaving.]
asterite has quit [Quit: asterite]
mverzilli has quit [Quit: mverzilli]
b_lumenkraft has quit [Quit: b_lumenkraft]
dts is now known as dts|feasting
leafybasil has joined #crystal-lang
<leafybasil> Not sure who here is a contributor, but I rolled over the docs and I think this project is ace
e_dub has joined #crystal-lang
asterite has joined #crystal-lang
asterite has quit [Client Quit]
asterite has joined #crystal-lang
asterite has quit [Client Quit]
asterite has joined #crystal-lang
<asterite> leafybasil: thanks