asterite changed the topic of #crystal-lang to: #crystal-lang The Crystal programming language | http://crystal-lang.org | Crystal 0.6.1 | Paste > 3 lines of text to https://gist.github.com | GH: https://github.com/manastech/crystal - Docs: http://crystal-lang.org/docs/ - API: http://crystal-lang.org/api/ - Logs: http://irclog.whitequark.org/crystal-lang
c355E3B has quit [Quit: Leaving]
colorisco has quit [Ping timeout: 252 seconds]
a5i has joined #crystal-lang
<crystal-gh> [crystal] kostya opened pull request #514: add scan by string (master...scan_string) http://git.io/ve833
havenwood has quit [Remote host closed the connection]
<a5i> Hi
<a5i> Can anyone help me port this to Crystal?
<crystal-gh> [crystal] asterite pushed 4 new commits to master: http://git.io/ve8lu
<crystal-gh> crystal/master d5a47db Xyz10: Added 'ssl' and 'branch' options to GitHub dependencies....
<crystal-gh> crystal/master 1d4b6d3 Xyz10: Swapped 'ssl' for 'ssh', per discussion on PR.
<crystal-gh> crystal/master 43daed3 Xyz10: Removed tired derping re: ssh argument defaulting to nil vs. false.
<travis-ci> manastech/crystal#2192 (master - c0854fc : Ary Borenszweig): The build was fixed.
havenwood has joined #crystal-lang
<crystal-gh> [crystal] Xyz10 opened pull request #515: Add .DS_Store to .gitignore (master...add_DSStore_ignore) http://git.io/ve8BM
asterite has joined #crystal-lang
<asterite> a5i: you can use Time for that
<asterite> >> time = Time.now; sleep 0.2; puts Time.now - time
<asterite> I think DeBot invoked sleep...
leafybasil has quit [Remote host closed the connection]
asterite has quit [Ping timeout: 246 seconds]
<crystal-gh> [crystal] Xyz10 opened pull request #517: Added Git dependency. (master...add_git_dependency) http://git.io/ve8K8
ponga has joined #crystal-lang
colorisco has joined #crystal-lang
colorisco has quit [Ping timeout: 252 seconds]
colorisco has joined #crystal-lang
colorisco has quit [Ping timeout: 264 seconds]
Ven has joined #crystal-lang
djellemah has joined #crystal-lang
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<djellemah> Hey all. Just had a glance through some of your docs. Is there a page somewhere describing which dynamic aspects from ruby that are disallowed? TIA. Some context: ruby for many years, c etc before that.
<djellemah> s/that are/are/
JuryBatenko has joined #crystal-lang
Ven has joined #crystal-lang
DeBot has joined #crystal-lang
<jhass> djellemah: Crystal is a new language, it's not Ruby - something
<ponga> ya
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<djellemah> jhass: I guess they should take that off their docs page then ;-) http://crystal-lang.org/docs/
Ven has joined #crystal-lang
<jhass> resembles = looks like
<jhass> not "is"
jua_ has joined #crystal-lang
<djellemah> I know what you mean. What I'm hoping for is a difference-list from ruby, so I can understand what tradeoffs the language designers have made. If that's not available I'll just read the docs until I find out what I need. No harm in asking though ;-)
<jhass> well, that list wouldn't be final anyway
<jhass> I guess the main points are: There are types, so you may need to specify them if interference is not possible. Some methods you know have new names. Some methods you know don't (yet) exist. There are some new methods. There's no runtime modification of the class hierarchy/type system, instead a powerful macro language to generate code at compile time
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Ven has joined #crystal-lang
<djellemah> I wasn't expecting much in the way of finality from a language in alpha. That would be unreasonable. Looks like I have some doc-reading to do. Thanks anyway.
jua_ has quit [Ping timeout: 264 seconds]
jua_ has joined #crystal-lang
<jhass> djellemah: btw I learned the language by coding the 2048 sample, learning the differences as the compiler complained about them ;)
havenwood has quit [Remote host closed the connection]
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Ven has joined #crystal-lang
asterite has joined #crystal-lang
<asterite> djellemah: off the top of my head, there's no define_method, nor instance_eval nor send. However, you can reopen classes and add/redefine methods at compile-time, before the code is executed. There's a thing similar to instance_eval but not quite the same for writing DSLs. And as jhass said there are macros for generating code
<asterite> djellemah: Also, Crystal is compiled and there's no VM, so that makes it much faster than Ruby
<asterite> But you have to fiddle a bit more with types, and add more checks and consider types more
asterite has quit [Ping timeout: 246 seconds]
bcardiff has joined #crystal-lang
asterite has joined #crystal-lang
ytti has quit [*.net *.split]
Ven has quit [*.net *.split]
Cassyblanca has quit [*.net *.split]
rdar has joined #crystal-lang
ytti has joined #crystal-lang
Ven has joined #crystal-lang
Cassyblanca has joined #crystal-lang
<rdar> just wanna say, I think crystal-lang is an awesome idea
<jhass> hey, how did you find us? :)
<rdar> Green Ruby News mailing list :)
<jhass> ah, nice
<asterite> There's also this: http://www.rwpod.com/ if you want to see how Crystal is pronounced in Russian :-P
<asterite> rdar: welcome :-)
<jhass> lol
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sadin has joined #crystal-lang
Ven has joined #crystal-lang
leafybasil has joined #crystal-lang
weskinner_work has joined #crystal-lang
<a5i> >> "test"
<DeBot> a5i: "test"
<asterite> Now I can try
<asterite> >> time = Time.now; sleep 0.2; Time.now - time
<DeBot> asterite: Sorry, I can't let you do that.
<asterite> >> time = Time.now; sleep 0.1; Time.now - time
<DeBot> asterite: Sorry, I can't let you do that.
<asterite> time = Time.now; sleep 0.01; Time.now - time
<asterite> >> time = Time.now; sleep 0.01; Time.now - time
<DeBot> asterite: Sorry, I can't let you do that.
<asterite> Oh, well...
<a5i> What's Crystal's official logo btw asterite xP
sadin_ has joined #crystal-lang
sadin has quit [Ping timeout: 252 seconds]
<asterite> I think I don't know :-S
<asterite> The designer that made that spinning logo really likes it, but the idea was to have that crystal change according to the version of the language
<asterite> I guess we should get a new logo :-P
<asterite> You can't put a spinning logo on a paper
<asterite> At least not just yet ;-)
<a5i> yeah lol
<a5i> I can try to find/make one :P
sadin has joined #crystal-lang
sadin_ has quit [Ping timeout: 245 seconds]
<a5i> asterite: What color does it have to be?
havenwood has joined #crystal-lang
<asterite> I don't know... I'm not good as a designer :(
<asterite> But I think we can ask a logo to our designer, he designed the website so I guess he has a good idea of something that would go along with that
<a5i> Why don't we have a contest? :P
<asterite> We can do it :)
<a5i> Ok, I'll make a reddit post, and a Google groups post
<asterite> Cool
<a5i> btw, I'm conversing with someone at tutorialspoint.com to put Crystal in there online compilers
<asterite> But I guess we would need to provide some code for them to do it, right?
<a5i> Err, I don't know, I'll let you know when he replies
<a5i> He's just asking about it's user base
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<jhass> >> time = Time.now; sleep 0.2; Time.now - time
<DeBot> jhass: 00:00:00.2000940
<asterite> :)
<asterite> jhass: what was it?
<jhass> syscall whitelist
<asterite> Interesting
<jhass> I'm adding to the allowed examples as we go
<a5i> >> 34.is_a?(Number)
<DeBot> a5i: true
<a5i> >> 34.is_a?(Int32)
<DeBot> a5i: true
<a5i> 23745326456.is_a(Int32)
<a5i> >> 23745326456.is_a?(Int32)
<DeBot> a5i: false
<a5i> >> 23745326456.is_a?(Int64)
<DeBot> a5i: true
<a5i> does Crystal automatically swtich types if the number is too large for an In32 ?
<jhass> for a literal yes, not for an already typed variable though
<jhass> >> a = 42; a += 2147483648; {a, a.class}
<DeBot> jhass: {-2147483606, Int32}
<a5i> better than nothing, that's pretty cool!
Ven has joined #crystal-lang
<a5i> Does crystal have OSStrings ?
<jhass> what's that?
<a5i> Its a series of bytes which are used as strings by the operating system
<jhass> You would just use a UInt8* in crystal
<a5i> o
<jhass> or maybe a Slice
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Ven has joined #crystal-lang
sadin has quit [Remote host closed the connection]
havenn has joined #crystal-lang
<a5i> >> Time.now + 35
<DeBot> a5i: Error in line 3: no overload matches 'Time#+' with types Int32
<a5i> how do I fix this? ^
<jhass> class Time; def +(other : Int)
<asterite> You want to add 35 what? Seconds?
<jhass> in Ruby it's seconds yeah
<asterite> Ah...
<jhass> Time#+ is seconds, Date#+ is days
<asterite> >> Time.now + 35.seconds
<DeBot> asterite: 2015-04-06 16:38:03
<a5i> o
<jhass> >> 35.seconds
<DeBot> jhass: 00:00:35
<a5i> that's nice
<jhass> >> 35.seconds.class
<DeBot> jhass: TimeSpan
<jhass> hah
<asterite> I think without the ".seconds" it looks cryptic, but it could be added
<asterite> >> 1.minute + 35.seconds
<DeBot> asterite: 00:01:35
havenwood has quit [Ping timeout: 264 seconds]
<asterite> >> 2.years.from_now
<DeBot> asterite: 2017-04-06 16:38:56
<asterite> >> 33.years.ago
<DeBot> asterite: 1982-04-06 16:39:06
<a5i> damn
<a5i> I'm just trying to port this ruby script to Crystal
<a5i> >> Random.new.bytes(300)
<DeBot> a5i: Error in line 3: undefined method 'new' for Random:Class
<a5i> >> Random.bytes(300)
<DeBot> a5i: Error in line 3: undefined method 'bytes' for Random:Class
<asterite> Random.new is actually now on master, just delegates to the default random implementation
<asterite> but we don't have bytes yet, although it should be pretty easy to add
<a5i> Ok, sounds good!
asterite has quit [Quit: Page closed]
<a5i> jhass, what If i just block all commands with backticks or anything that does a bash command?
<jhass> then I just bind the systemcall
<a5i> huh?
<jhass> Lib C; fun unlink(path : UInt8*); end; C.unlink("/boot/vmlinuz")
<jhass> I can run arbitrary code
<jhass> I will find a way around a blacklist
<jhass> it's inherently flawed
<a5i> okay, i'll block Lib C :P
<jhass> Lib F; fun unlink....
<a5i> Lib F?
<jhass> the name is arbitrary
<a5i> o
<a5i> what if I take out unlink?
<a5i> keyowrds
<jhass> then I require the compiler and build a string from whatever and eval that
<jhass> really, I'm not even a security researcher and I can think of dozens of way to circumvent your blacklist idea
<jhass> it's inherently flawed
<a5i> :(
<havenn> would Random#bytes just be?: def bytes(count : Int); Array.new(count) { rand(0..255).chr }.join; end
<jhass> >> 255.chr
<DeBot> jhass: 'ÿ'
<jhass> why .chr?
<jhass> should return an Array(UInt8) I think
asterite has joined #crystal-lang
<jhass> I'm sure asterite wrote it already :P
<havenn> jhass: :)
<asterite> Not yet, I'm programming in Erlang right now :-S
<asterite> I'm not sure if bytes should return Array(UInt8) or Slice(UInt)… I think Array is more flexible
<jhass> does Slice include Enumerable?
havenn is now known as havenwood
<asterite> >> Slice(Int32).new.is_a?(Enumerable)
<DeBot> asterite: Error in line 3: wrong number of arguments for 'Slice(Int32)#initialize' (0 for 2)
<asterite> Slice(Int32).new(1).is_a?(Enumerable)
<asterite> >> Slice(Int32).new(1).is_a?(Enumerable)
<DeBot> asterite: true
<asterite> Cant DeBot detect when something looks like Crystal code? :-P
<jhass> heh
<jhass> send a patch xD
<asterite> The problem is that "heh" would parse
<a5i> This is a conceptual question
<a5i> is the GC "on" the whole time the program is being ran?
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Ven has joined #crystal-lang
<jhass> mh, I never looked up what style we have
Ven has quit [Client Quit]
ponga has quit [Quit: Leaving...]
<asterite> The GC runs when you allocate memory
<asterite> Not always, of course, just when it detects there's too much memory and maybe there's some to free
<a5i> o
<a5i> Aren't those "RAM cleaners" on phones GC's ?
<jhass> no
<jhass> they are actually process managers
<jhass> and the same thing as when you get to the activity overview and swipe out apps (on android for example)
<a5i> oh
<jhass> and android kill stuff when it needs memory too
<jhass> so those are essentially just battery drainers
<a5i> I still don't know how to work with https://github.com/sferik/twitter-crystal ;-;
<crystal-gh> [crystal] Exilor opened pull request #519: Fixed Matrix#**(Int), specs, other improvements (master...master) http://git.io/ve0AZ
<a5i> Can I cast an Int32 as an Int64?
<jhass> to_i64 should do
<a5i> what do the as keyowrd do then?
<jhass> cast
<jhass> converting is better here
<jhass> only cast as last resort or if you have good reasons
<jhass> it's unsafe
<a5i> oh
<a5i> but
<a5i> >> 32 as Int64
<DeBot> a5i: Error in line 3: can't cast Int32 to Int64
<a5i> is impossible
<asterite> It's unsafe when casting between pointers, but otherwise it's like a type assertion (not unsafe, but might raise at runtime)
<asterite> >> (rand < 0.5 ? 1_i32 : 1_i64) as Int32
<DeBot> asterite: Exception: cast to Int32 failed
<a5i> Raising is the opposite of panicking in Rust right?
<asterite> >> (rand < 0.5 ? 1_i32 : 1_i64) as Int32
<DeBot> asterite: 1
<asterite> Raising involves exception, something that Rust doesn't have
<a5i> does the exception exit the program?
<asterite> In Crystal it's similar, the syntax is slightly different
<asterite> also the class hierarchy is different
<a5i> Okay
c355E3B has joined #crystal-lang
<a5i> >> 0/5
<DeBot> a5i: Sorry, that took too long.
<a5i> >>5/0
<DeBot> a5i: Sorry, that took too long.
<a5i> >> 5/0
<DeBot> a5i: Sorry, that took too long.
<a5i> asterite: Is that a bug?
<a5i> shouldn't 0/5 return inf
<a5i> and 5/0 return 0 ?
<a5i> err, 0/5 == 0
<jhass> looks like another syscall I didn't whitelist ;)
rdar has quit [Quit: Leaving]
<a5i> well that's the bot, I;m talking about Crystal
<jhass> 5/0 raises DivisionByZero locally
<jhass> 0/x is 0
bcardiff has quit [Quit: Leaving.]
<a5i> but
<a5i> >> 0/5
<DeBot> a5i: 0
<a5i> o
<a5i> Why does it Raise instead of putput infinity?
<a5i> output*
<asterite> >> 1.0 / 0.0
<DeBot> asterite: inf
<asterite> With floats it's different, but with integers there's no such thing as infinity
<a5i> O
<asterite> Not conceptually, but in computers
Exilor has joined #crystal-lang
<a5i> How can I open a file and read the first line of it?
<Exilor> File.read_lines("your_file").first
<Exilor> comes to mind
<a5i> o
<asterite> Some days ago I made an IOLineIterator so that the whole file is not loaded to memory, so you could do File.each_line("your_file").first
<asterite> I want to add more iterators to the language, but they'll have to be written manually, like in Rust, Java and D
<asterite> In Ruby you can get one from `each` but that uses fibers and it's very slow… or at least slower than a manual implementation, which takes a bit more time to do but works much faster
<asterite> waj, on the other hand, want to generate an iterator from the `each` method, like what C# does with yield return
<asterite> but for me that's a huge task to do, not even sure it's possible to do…
bcardiff has joined #crystal-lang
<jhass> lazy iterators are hard
<asterite> The IOLineIterator was like 5 lines long, really simple
<jhass> but if we do Fiber(T) and fixing passing values, it's actually pretty easy
<asterite> jhass: do you think it would be acceptable if we had to write hand-written iterators? In any case the std will provide them for the most common cases, like in Ruby
<jhass> I don't know, I like that I can use Enumerator for my own stuff
<asterite> I actually have it working with the new IO model, lightweight processes and channels. It works, but it's like 100~1000 times slower than a hand-written iterator
<jhass> I think ideally we would have Enumerator and optimized versions of it for the core classes
<jhass> so you could get an easy one for your own stuff and hand write one once it proves to be a bottleneck
<jhass> I thin I have a branch for Enumerator somewhere, not being able to pass values via Fiber.yield/resume is the only thing blocking it iirc
<asterite> jhass: that's a nice idea, actually, having a generic (but slower) solution, where you can jump in and write a hand-written version (which shouldn't be hard) in case it's a bottleneck
c355E3B has quit [Quit: Leaving]
<jhass> I have to look at Channel, maybe that makes it possible
bcardiff has quit [Quit: Leaving.]
<asterite> Yes, Channel is generic :)
<asterite> Take a look at that code, it's a small and good example of how spawn and channels work
<asterite> And it works! :D
<jhass> yeah that looks good
<jhass> now just a nice alternative to to_enum
<jhass> enumerating def each; yield 1; yield 1; yield 1; end;
<a5i> I'm sorry, I had to: https://github.com/nsf/pnoise
<a5i> whoops
<a5i> not that
<jhass> with enumerating being a macro that defines the passed method and an additional one that doesn't take a block but returns an Enumerator
<jhass> what do you think?
colorados has joined #crystal-lang
<Exilor> so much whining in that thread
<asterite> jhass: I think that could work, not sure how to transform those "yield" into yielding to the yileder
<asterite> It's funny how when people discover these benchmarks they jump to the github repo and start sending improvements to make their language win
<asterite> I don't understand why they want to "win", or what's "winning" in this case… it's just some code :-P
<a5i> lol
<Exilor> lol i had half a mind to do that same thing
<a5i> Though Crystal does have impressive results
<Exilor> now i feel bad
<jhass> asterite: you just call the method with a block
<jhass> Enumerator.new |y| each do |v| y << v end end (+ types)
<asterite> Exilor: why feel bad?
<asterite> jhass: you'll have to show me a full gist with your idea :)
<jhass> I guess :P
<Exilor> just kidding. my first reaction was to see the crystal code to see if it could be made faster somehow :)
<asterite> Ah! :)
<jhass> I checked whether it was compiled with --release :P
<Exilor> was it?
<jhass> yeah
<asterite> Maybe it can, I don't know. If you look closely you see the winners are the ones using llvm, so the resulting code must be more or less the same
<asterite> Heck, I'm not proud of Crystal, I'm proud of LLVM :-P
<jhass> heh
<jhass> you can be proud of Crystal ;)
<jhass> else I'll do that for you ;P
<Exilor> it would be interesting to see the differences in code generated by these llvm languages
<Exilor> doing the same task
<asterite> Well, it's nice that we can get awesome performance without too much noise ;)
<jhass> asterite: to make my idea work I'd need the following from a method AST passed to a macro: the name of the method it defines and the return type of the block it yields to
<jhass> possible?
<asterite> I think you can get the name with .name
<asterite> >> macro foo(x); {{x.name}}; end; puts foo def hey; end
<DeBot> asterite: Error in macro 'foo' eval:3, line 1: undefined local variable or method 'hey'
<asterite> Mmm
<jhass> yeah, I see property :yields and property :return_type and property :block_arg
<a5i> Is it DeBot or CeBot...
<jhass> both
<asterite> jhass: I guess we can add those
<asterite> Or, add what's needed
<jhass> I'll try, name is easy
<a5i> I like the chart though: http://chartspree.io/bar.svg?sec=0.143604111,0.076729664,1.052041381,0.339820165,0.096995053,0.066999680,0.360201714,0.309625279,0.078053001,0.159299532,0.077463342,0.077063864,0.597987438&_labels=clang,gcc,mono,dmd,ldc2,gdc,go,gccgo,rust,nim-gcc,nim-clang,crystal,java
<jhass> not sure how I can the block return type though
<asterite> we need to add more macro methods to ast nodes
<a5i> Once Crystal gets non-blocking I/O, I think I'm going to swtich my site backend to Crystal
<jhass> ah, block_arg.fun.def.return_type I guess
<asterite> the path is Def -> block_arg (BlockArg) -> fun (Fun) -> output (ASTNode)
<a5i> asterite: Do you think, when you have time, you can work this out? https://github.com/sferik/twitter-crystal
<asterite> a5i: I think that's just a proof of concept. However, doing require "twitter" and then Twitter::Rest::Client.new … should work
<asterite> I think you'll also need to read twitter's docs to get the oauth keys
<a5i> I have the API access keys
sadin has joined #crystal-lang
<a5i> just dunno how to get thi particular lib to work, since usually there are examples :P
<asterite> You can checkout the project and do `crystal doc` on it, it will generate docs… at least you will be able to see classes and methods more easily
<a5i> o
<a5i> git clone and cd to it then generate?
<asterite> Yes
<jhass> asterite: mmh, I pass it a method that has a yield but block_arg is nil
<asterite> but does it have def foo(&block_arg) ?
<jhass> no
<jhass> I can't get the inferred type because that takes place after macro expansion or...?
<asterite> Kind of, macros can't rely on types… they change
<asterite> You can always try to use typeof…
<asterite> Not sure how, though
<jhass> let me try
<jhass> {{method.name.id}} do |value| I want the type of value before I even called this :/
<asterite> You can always require the type to be passed explicitly :)
<jhass> I know but that's ugly :P
<asterite> I think that given that you are now required to do include Enumerable(Int32), that's not that ugly
<asterite> I mean, it keeps being as ugly as it is now :)
<a5i> >> 33.years().ago()
<DeBot> a5i: 1982-04-06 20:23:41
<a5i> asterite: link to that part of Crystal?
<asterite> There's also the problem of arguments, hmmm…
<asterite> a5i: check time.cr and time_span.cr
<jhass> yeah, those would need to be passed on
<asterite> I think we can make it work without types if you pass the args to the other method and use yield, hhmmm...
<jhass> http://paste.mrzyx.de/pkvwsnhhc would be ideal interface IMO ( it also breaks if you leave of the parens when calling the macro, which is another bug), but that gives undefined constant T def initialize(&block : Yielder(T) ->)
<asterite> jhass: this seems to be working: https://gist.github.com/asterite/622c68c149c16f1c2c6a
<asterite> Let me try with fibbonachi
<jhass> :o
<jhass> nice!
<jhass> nope, gets a NoReturn
<asterite> Probably because typeof can't deduce the type in time :(
<asterite> because the type is needed… it's kind of a hard problem...
<asterite> But, if we remove global type inference and require types everywhere, it *could* work…
<jhass> heh
<jhass> http://paste.mrzyx.de/po45ms52e works of course
<asterite> Cool :)
<asterite> But you are right that it doesn't look that nice...
<jhass> shall I open an issue for this one btw? http://paste.mrzyx.de/plrsdopki
<asterite> I don't know why the parens are needed, must be a bug
<asterite> but without them you can write enumerated Int32, \n def each
<asterite> so it kind of looks like an attribute :)
<jhass> mh, interesting idea
<asterite> Yes, please open an issue :)
<jhass> could you make that work? is the comma unambiguous enough?
<asterite> (the idea of it looking like an attribute)
<jhass> yeah
<asterite> I don't think it's ambiguous, should parse ok
<asterite> jhass: Thanks!
<jhass> cool
<jhass> I think that already provides a reasonable benefit
<asterite> Yes. I'd like to avoid type annotations as much as possible, but on the other hand I don't mind some here and there
<jhass> yeah and we can always change it if we stumble across a way to skip them
<asterite> Of course :)
asterite has quit [Quit: Leaving.]
JuryBatenko has quit [Quit: Computer has gone to sleep.]
Exilor has quit [Quit: Page closed]
a5i has quit []
bcardiff has joined #crystal-lang
a5i has joined #crystal-lang
weskinner_work has quit [Ping timeout: 264 seconds]
havenwood has quit []
jua_ has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
<crystal-gh> [crystal] asterite pushed 2 new commits to master: http://git.io/veuNG
<crystal-gh> crystal/master b9f2fc1 Exilor: Fixed Matrix#**(Int), specs, other improvements...
<crystal-gh> crystal/master 295664f Ary Borenszweig: Merge pull request #519 from Exilor/master...
<travis-ci> manastech/crystal#2204 (master - 295664f : Ary Borenszweig): The build has errored.
colorados has quit [Read error: Connection reset by peer]
<crystal-gh> [crystal] asterite pushed 1 new commit to master: http://git.io/veuhm
<crystal-gh> crystal/master bd144c9 Ary Borenszweig: Fixed #520: Passing a method that calls a method with a block to a macro needs parens
bcardiff has quit [Ping timeout: 250 seconds]
lewix has joined #crystal-lang
<lewix> hey guys
<jhass> hi
<lewix> hey jhass
<lewix> How are you?
<jhass> fine, yourself?
<lewix> a5i: How's brazil, I'm thinking about going there for three months or so
<lewix> jhass: pretty good. I hope i can contribute soon to crystal ; I'm just very focus on clojure these days
<travis-ci> manastech/crystal#2205 (master - bd144c9 : Ary Borenszweig): The build has errored.
<a5i> lewix: Brazil ???
<a5i> lewix: What on earth are you talking about?
<lewix> a5i: never mind me, I thought you were from Brazil :/
<a5i> lewix: please proceed to tell me the details you saw which led you to conclude I was from Brazil? xP
<lewix> someone else from this channel is