jhass changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.17.4 | Fund Crystals development: http://is.gd/X7PRtI | Paste > 3 lines of text to https://gist.github.com | GH: https://github.com/crystal-lang/crystal | Docs: http://crystal-lang.org/docs/ | API: http://crystal-lang.org/api/ | Logs: http://irclog.whitequark.org/crystal-lang
soveran has joined #crystal-lang
soveran has quit [Changing host]
soveran has joined #crystal-lang
emmanueloga has quit [Ping timeout: 264 seconds]
mroth has quit [Ping timeout: 264 seconds]
daemonwrangler has quit [Ping timeout: 264 seconds]
mroth has joined #crystal-lang
emmanueloga has joined #crystal-lang
daemonwrangler has joined #crystal-lang
sp4rrow has quit [Quit: The Internet needs a break and I need a cookie]
soveran has quit [Ping timeout: 258 seconds]
kulelu88 has joined #crystal-lang
kulelu88 has quit [Changing host]
kulelu88 has joined #crystal-lang
matp has joined #crystal-lang
soveran has joined #crystal-lang
soveran has quit [Ping timeout: 240 seconds]
sp4rrow has joined #crystal-lang
bcardiff has joined #crystal-lang
soveran has joined #crystal-lang
sp4rrow has quit [Quit: The Internet needs a break and I need a cookie]
soveran has quit [Ping timeout: 244 seconds]
kulelu88 has quit [Quit: Leaving]
snsei has joined #crystal-lang
bcardiff has quit [Quit: bcardiff]
pawnbox has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Ping timeout: 240 seconds]
Philpax has joined #crystal-lang
sp4rrow has joined #crystal-lang
pawnbox has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
Philpax has quit [Ping timeout: 246 seconds]
snsei has joined #crystal-lang
pawnbox has joined #crystal-lang
Philpax has joined #crystal-lang
A124 has quit [Ping timeout: 260 seconds]
A124 has joined #crystal-lang
soveran has joined #crystal-lang
soveran has quit [Ping timeout: 276 seconds]
A124 has quit [Quit: '']
soveran has joined #crystal-lang
A124 has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
sandelius has joined #crystal-lang
Philpax has quit [Ping timeout: 246 seconds]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
A124 has quit [Quit: '']
A124 has joined #crystal-lang
ruslux has joined #crystal-lang
<ruslux> Hi! o.O (\/)
<ruslux> Why when `struct instance` `instance1.should eq instance2` is `true`, and when `class instance` it is `false`
<ruslux> ?
bjz has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
ruslux has quit [Quit: Page closed]
ruslux has joined #crystal-lang
<ruslux> https://gist.github.com/ruslux/623ac43378aebb8008d53702018d3160 Where will be allocated memory for `class_type` (it is struct field of Class-based type)?
<jhass> ruslux: @class_type will allocate a pointer in the struct
<jhass> the class itself will reside on the heap
<jhass> do you have an example for the first question?
bjz has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<ruslux> if MsgHeader and Ops is Class-based, spec not passed.
<jhass> oh, I hoped for something directly demonstrating it, not 400loc to go through...
<jhass> btw gist has crystal syntax highlighting
<jhass> just call your file whatever.cr
<ruslux> w8
<jhass> also so this is the working version, the not working version would be more interesting :)
pawnbox has quit [Remote host closed the connection]
bjz has joined #crystal-lang
<ruslux> crystal -v => Crystal 0.17.3
<jhass> btw there's 0.17.4 out
<txdv> sudo apt-get update && sudo apt-get upgrade
mark_66 has joined #crystal-lang
<jhass> that compares by value
pawnbox has joined #crystal-lang
<jhass> while classes (reference types)'s default == compares by object identity https://github.com/crystal-lang/crystal/blob/master/src/reference.cr#L15
sandelius has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<jhass> the rationale is that first of all comparing the object id is a lot faster, you just check whether it's the same pointer value
<jhass> but you can't do a similar check for value type, since every assignment, every return from a method call, every passing to a method copies it
<jhass> let alone you don't even have a pointer to the heap you could compare
steenuil has quit [Ping timeout: 276 seconds]
<jhass> ruslux: however you can easily define a better == for either with http://crystal-lang.org/api/Object.html#def_equals%28*fields%29-macro
pawnbox_ has joined #crystal-lang
pawnbox has quit [Ping timeout: 264 seconds]
pawnbox_ has quit [Remote host closed the connection]
<ruslux> Thank you
sandelius has joined #crystal-lang
<jhass> asterite: btw made me notice, so struct Foo; end; Foo.new is Foo < Struct < Value < Object while class Bar; end; Bar.new is Bar < Reference < Object, isn't the additional Struct in the former case a bit inconsistent?
<ruslux> So, i should implement own `==` for header, for compare by `request_id`, for example?
<ruslux> tnx, tnx, tnx.
ruslux has quit [Quit: Page closed]
pawnbox has joined #crystal-lang
ruslux has joined #crystal-lang
ruslux has quit [Ping timeout: 250 seconds]
Philpax has joined #crystal-lang
bjz has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
sp4rrow has quit [Quit: Textual]
ruslux has joined #crystal-lang
ruslux has quit [Client Quit]
bjz has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
bjz_ has joined #crystal-lang
bjz has quit [Ping timeout: 240 seconds]
pawnbox has joined #crystal-lang
sandelius has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
soveran has quit [Remote host closed the connection]
sandelius has joined #crystal-lang
soveran has joined #crystal-lang
soveran has quit [Changing host]
soveran has joined #crystal-lang
jamie_ca has quit [Ping timeout: 272 seconds]
jamie_ca has joined #crystal-lang
steenuil has joined #crystal-lang
matp has quit [Remote host closed the connection]
matp has joined #crystal-lang
sandelius has quit [Quit: Textual IRC Client: www.textualapp.com]
sandelius has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
triangles has joined #crystal-lang
pawnbox has joined #crystal-lang
Bish has joined #crystal-lang
<crystal-gh> [crystal] asterite pushed 1 new commit to master: https://git.io/vospn
<crystal-gh> crystal/master 353eeb1 Ary Borenszweig: Merge pull request #2786 from crystal-lang/feature/delegate_to...
<crystal-gh> [crystal] asterite closed pull request #2784: Make the `system` macro call set the current working directory (master...feature/system_chdir) https://git.io/voOKs
<16WAAELG2> [crystal] asterite closed pull request #2783: Implement auto-tuple unpacking in block arguments, Rule 1 (master...feature/block_auto_unpack_rule_1) https://git.io/voYT3
<7YUABA8B0> [crystal] asterite pushed 1 new commit to master: https://git.io/voshI
<7YUABA8B0> crystal/master 9c135ad Ary Borenszweig: Merge pull request #2783 from crystal-lang/feature/block_auto_unpack_rule_1...
<crystal-gh> [crystal] asterite closed pull request #2778: Implement auto-tuple unpacking in block arguments (master...feature/block_auto_unpack) https://git.io/voqRJ
<crystal-gh> [crystal] asterite closed pull request #2781: Make Hash (and others) yield tuples in each (master...feature/hash_tuple) https://git.io/vomIQ
crime has joined #crystal-lang
<crime> is crystal going to get any cool features from scala?
<wmoxam> crime: such as?
<crime> higher-kinded types, mainly
pawnbox has quit [Quit: gotta go guys.]
pawnbox has joined #crystal-lang
<travis-ci> crystal-lang/crystal#353eeb1 (master - Merge pull request #2786 from crystal-lang/feature/delegate_to): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/136693450
bcardiff has joined #crystal-lang
<travis-ci> crystal-lang/crystal#9c135ad (master - Merge pull request #2783 from crystal-lang/feature/block_auto_unpack_rule_1): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/136695358
sandelius has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
sandelius has joined #crystal-lang
<crystal-gh> [crystal] asterite opened pull request #2791: Add `read_file` macro method (master...feature/macro_read_file) https://git.io/voGUG
rolha has joined #crystal-lang
paulcsmith_ has joined #crystal-lang
paulcsmi_ has joined #crystal-lang
<asterite> crime: Essentially what HKT gives us is the ability to generalize across type constructors – where a type constructor is anything that has a type parameter . Sounds like generics. What's the difference?
<jhass> asterite: mmh, did you ever try to draw a UML of Crystals core class design?
<jhass> :P
<asterite> should be easy to do by using graphviz
paulcsmith_ has quit [Ping timeout: 276 seconds]
<asterite> in fact it would be a nice little project to do (for any shard, or the std)
<asterite> jhass: the Struct type is there so you can define methods only for structs, but not for all values. That's at least the reason
<jhass> asterite: nah I mean really core stuff, Class, Object, Struct...
<jhass> yeah I see the reason but it seems inconsistent
<jhass> give me a second
<asterite> jhass: oh, that! With the metamodel?
<jhass> yes
<asterite> we tried to do it a couple of times with waj but failed... we tried to check what smalltalk and objective-c do, but we are missing something...
<asterite> well, probably more than a couple of times
<asterite> I think we are missing something like Object.class being Object:Class and not just Class... I think in objective-c it's Class
<asterite> (with other names)
<jhass> asterite: https://cloud.aeshna.de/u/mrzyx/Crystal_uml.png here's what I have so far, with inconsistencies/don't understand in read and "seems nicer" in green
<jhass> *red
ruslux has joined #crystal-lang
<ruslux> How should I document the macro?
<asterite> I think introducing Module should be easy
<asterite> but I don't understand why the red arrow in the struct
<asterite> In fact, let me try to make a Module now, see how hard is it
<BlaXpirit> crazy stuff
<crime> asterite: HKT allows for abstracting over types themselves. in crystal, that would mean I could differentiate between ints, floats, int|float, T, etc
<asterite> mmm... I'll need a concrete example
<jhass> asterite: refresh the picture and then the answer is because the purple one. Lacking symmetry
ruslux has quit [Ping timeout: 250 seconds]
<jhass> mmh, actually
rolha has quit [Read error: Connection reset by peer]
<jhass> asterite: refresh again, of course they should go to Value/Reference respectively
<asterite> crime: still looks like generics too me
rolha has joined #crystal-lang
<asterite> crime: look, Array is Array(T) (in scala would be Array[T]): http://crystal-lang.org/api/Array.html
<jhass> asterite: let me ask it as a question, what method of Struct, that should be present in instances of structs (instances of child classes of Struct), can't be or conceptually shouldn't be in Value?
<asterite> well, hash is defined by iterating all instance vars
<asterite> values that are not structs don't have instance vars
<asterite> same goes for to_s, ==, etc.
<jhass> what kind of Value do we even have that aren't Struct?
<jhass> Primitives?
<jhass> btw do you see the conceptual inconsistency between Struct and Class or do I still have to convince you of it? :P
<asterite> primitives, enum
<asterite> Umm... A Class is actually a struct
<asterite> well, a value
<asterite> but... mmm... I don't see the inconsistency
<jhass> well, in my mind Struct and Class are the same, just for Reference things vs for Value things
<jhass> do we agree so far?
<jhass> mh, if Class is an instance of Struct, is Struct an instance of Struct too?
rolha has quit [Ping timeout: 246 seconds]
<asterite> Class represents types, it's not to distinguish between reference and values
<asterite> maybe it should be called Type
<asterite> so then we have Type, Reference, Value, Struct, Object
<asterite> Struct is an instance of Type
<asterite> but... don't mind me, I always get confused with this
<asterite> I tried to do the Module thing, I got confused
<jhass> :/
<asterite> :-(
<jhass> I think it would be good if we do model this out in UML like we want it
<asterite> Definitely, though I don't think it has much priority... it's a nice to have, and will definitely happen before 1.0, but I don't see a real use case for introducing Module
<jhass> classes are types, structs are types
<asterite> (other than consistency)
<jhass> enums are types
<jhass> primitives are types
<jhass> anything else that defines a type?
<jhass> mmmh, C unions I guess
<jhass> also how different are enums and C enums, if at all?
<jhass> does lib define a type?
<jhass> it's more a special module
<asterite> they are not different... they used to be
<asterite> in fact, they didn't use to be, they only existed for C
<asterite> then we decided to have them outside too
<asterite> in fact, I've been thinking a lot about unifying c structs and union with crystal structs... I'd really like that to happen, and I'll probably try to do that soon
<asterite> lib is a type too, yes
<asterite> but yeah, it's special
sandelius has quit [Quit: Textual IRC Client: www.textualapp.com]
<jhass> great, lib's superclass is nil :/
<asterite> mmm... maybe it should be Class, but then if someone defines a `read` method on Class it will break `fun read`, I guess
<Davy_CC> what's the different between Value and Reference?
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
<jhass> Davy_CC: pass by reference and pass by value, or in other words allocated on the heap vs allocated on the stack
<jhass> asterite: maybe it should be Type < Object, Value and Reference should become (marker) modules, then Class < Type, Class include Reference, Struct < Type, Struct include Value, Module < Type, Enum < Type, Lib < Type etc
<Davy_CC> I mean Reference can be a Value which has the pointer points to the instance, can't it?
<jhass> class Foo -> Foo = Class.new, struct Foo -> Foo = Struct.new, module Foo -> Foo = Module.new, enum Foo -> Enum.new and so on (and still only conceptually)
<asterite> I see. So one type for each concept in the language
<jhass> yes
<asterite> lib Foo -> Foo = Lib.new ?
<jhass> yes
<jhass> not sure what primitives would be though with that
<asterite> a primitive is just a Value
<jhass> yes but then struct Int32 -> Int32 = Struct.new doesn't hold
<Davy_CC> what will happen when I define a class inherits from Type or Object, like class Foo < Type ?
<asterite> maybe it should be `value Int32` :-P
<jhass> Davy_CC: a compile time error
<asterite> Or maybe we could remove `Struct`, and have `Value` iterate over instance vars... just that primitives don't have instance vars, and in any case override those methods
<jhass> mmh, yeah
<jhass> might be simpler
<asterite> then of course we have class Object, but struct Value... so a struct inheriting from a class
<asterite> This is the same in C#
snsei_ has joined #crystal-lang
<Davy_CC> are there any other classes inherits from Object?
<jhass> not currently
<jhass> mmh, I also like the Class < Module property in Ruby
ragmaanir has joined #crystal-lang
<BlaXpirit> that reminds me of this funny thing
<BlaXpirit> >> class C < Class; end
<DeBot> BlaXpirit: Class is not a class, it's a class - https://carc.in/#/r/1162
<Davy_CC> lol
snsei has quit [Ping timeout: 276 seconds]
<ragmaanir> question: whats the best way to achieve this: i have an array X of A. A is abstract but has several subclasses. i want to create a new array that only contains the elements of X that are of one specific subclass. The type of the new array should be Array(S) with S being the subclass.
<asterite> x.map &.as(S)
<crystal-gh> [crystal] asterite pushed 1 new commit to master: https://git.io/voG3R
<crystal-gh> crystal/master 979e63c Ary Borenszweig: Compiler: fixed check yield expressions against block signature
<ragmaanir> thanks! i tried to do it with select and map+compact but that didnt work.
<BlaXpirit> I would say x.map(&.as S).compact
<BlaXpirit> ragmaanir, I think asterite missed some of your requirements
<ragmaanir> yeah, true
<asterite> oh... that only contains, right
<asterite> compact_map is probably better: https://play.crystal-lang.org/#/r/116a
<ragmaanir> but i still get errors with map + compact
<ragmaanir> not sure if i am overlooking something: https://carc.in/#/r/116b
<BlaXpirit> asterite, oh that's so good, i've been missing that method (didnt know)
<asterite> I actually though there wasn't a way to extract only some types of a collection, until you mentioned map + compact :)
<BlaXpirit> i forgot '?' in 'as?' too :/
<ragmaanir> with compact i get compile time errors when the array X is empty
<BlaXpirit> ragmaanir, https://carc.in/#/r/116k
<BlaXpirit> ragmaanir, it's not because array is empty
<BlaXpirit> asterite, by the way, about that "never instantiated" thing. shouldn't it be gone now that global type inference is gone?
crime has quit [Quit: Page closed]
<asterite> yes, I removed that recently :)
<Davy_CC> asterite: so struct Foo would be Foo = Value.new ?
<BlaXpirit> Davy_CC, no, this is just for things like .is_a?
<BlaXpirit> cool
<asterite> Davy_CC: I wouldn't change metamodel things for now, there are more important things
<ragmaanir> BlaXpirit: how to solve the problem then? i want to get correct results even if i didnt add any instances of C to the array.
<BlaXpirit> ragmaanir, it's a problem only in this contrived example. i "solved" it anyway, see latest link
<BlaXpirit> I don't see any problems remaining. please elaborate if you think there is
<ragmaanir> but i cant add `a << C.new if false` etc for every potential subclass... if thats the solution you meant
<BlaXpirit> ragmaanir, OK this is not a real problem. using latest unreleased crystal removes the need for this workaround
<BlaXpirit> you simply need to instantiate every class at least once
<BlaXpirit> if you're never using the class, you just remove it from your code
<ragmaanir> oh, ok. i see, thanks.
<BlaXpirit> ragmaanir, see https://carc.in/#/r/116t , i simplified it, don't actually need to add to array
<BlaXpirit> ragmaanir, oh and i keep using .map.compact - should be compact_map
<travis-ci> crystal-lang/crystal#979e63c (master - Compiler: fixed check yield expressions against block signature): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/136720601
rolha has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
<crystal-gh> [crystal] asterite closed pull request #2280: Make Hash#first(n : Int) return subhash (master...hash-first-n) https://git.io/v2xeA
pawnbox has joined #crystal-lang
<crystal-gh> [crystal] asterite pushed 1 new commit to master: https://git.io/voGWB
<crystal-gh> crystal/master 46317ac Ary Borenszweig: Removed `Hash#reduce` redefinition for next version
<BlaXpirit> ??? ^
<BlaXpirit> >> {0, 17, 4} < {0, 18, 0}
<DeBot> BlaXpirit: # => true - https://carc.in/#/r/116x
<BlaXpirit> this is just killing me: {% if Crystal::VERSION != "0.18.0" %}
BlaXpirit has quit [Quit: Bye]
BlaXpirit has joined #crystal-lang
Philpax has quit [Ping timeout: 252 seconds]
Oliphaunte has joined #crystal-lang
<travis-ci> crystal-lang/crystal#46317ac (master - Removed `Hash#reduce` redefinition for next version): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/136731695
<crystal-gh> [crystal] asterite pushed 1 new commit to master: https://git.io/voGBp
<crystal-gh> crystal/master 5432eda Ary Borenszweig: Fixed #1030: show full argument type name when the restriction alone matches the argument type name
Oliphaunte has quit [Remote host closed the connection]
snsei_ has quit [Remote host closed the connection]
Oliphaunte has joined #crystal-lang
paulcsmi_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<Davy_CC> asterite: how about struct Object? and Class is inheriting from Struct but includes (module) Referenced. Then every types without Referenced are Values. >> < asterite> then of course we have class Object, but struct Value... so a struct inheriting from a class
<Davy_CC> I know that won't be changed soon, but I think this is interesting
<travis-ci> crystal-lang/crystal#5432eda (master - Fixed #1030: show full argument type name when the restriction alone matches the argument type name): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/136739855
paulcsmith_ has joined #crystal-lang
rolha has quit [Read error: Connection reset by peer]
<Davy_CC> uhhhhh, this may be more complicated, ignore me
rolha has joined #crystal-lang
mhib has joined #crystal-lang
Dreamer3_ has joined #crystal-lang
rolha has quit [Ping timeout: 252 seconds]
mark_66 has quit [Remote host closed the connection]
Raimondi has quit [Quit: Bye!]
Raimondi has joined #crystal-lang
<crystal-gh> [crystal] asterite pushed 1 new commit to master: https://git.io/voGVs
<crystal-gh> crystal/master b7262c4 Ary Borenszweig: Added macro methods for Generic. Fixes #2086
tomchapin has joined #crystal-lang
tomchapin has quit [Client Quit]
rolha has joined #crystal-lang
<travis-ci> crystal-lang/crystal#b7262c4 (master - Added macro methods for Generic. Fixes #2086): The build has errored. https://travis-ci.org/crystal-lang/crystal/builds/136751657
paulcsmith_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Raimondi has quit [Quit: Bye!]
Raimondi has joined #crystal-lang
<jhass> base idea: Struct, Class et. al. don't define the standard base type for their instances through inheriting, but as a distinct property
<asterite> looks good... I'll have to show this to waj
<jhass> asterite: it would also mean the TypeNode AST would become it's brother in the runtime type system :)
Oliphaunte has quit [Remote host closed the connection]
<jhass> ... I think
<travis-ci> crystal-lang/crystal#b7262c4 (master - Added macro methods for Generic. Fixes #2086): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/136751657
<crystal-gh> [crystal] asterite opened pull request #2793: GIve syntax error when using a local variable inside an assignment to… (master...feature/local_var_assign_shadow) https://git.io/voG67
<asterite> and in the compiler a type is called Type, not Class :-P
<Davy_CC> cool
paulcsmith_ has joined #crystal-lang
rolha has quit [Ping timeout: 272 seconds]
Oliphaunte has joined #crystal-lang
<crystal-gh> [crystal] asterite pushed 1 new commit to master: https://git.io/voGDY
<crystal-gh> crystal/master a6a0fb7 Ary Borenszweig: Fixed `:"..."` symbol parsing regarding escapes
<travis-ci> crystal-lang/crystal#a6a0fb7 (master - Fixed `:"..."` symbol parsing regarding escapes): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/136773694
paulcsmi_ has joined #crystal-lang
paulcsmith_ has quit [Ping timeout: 244 seconds]
steenuil has quit [Ping timeout: 276 seconds]
steenuil has joined #crystal-lang
Raimondi has quit [Quit: Bye!]
Raimondi has joined #crystal-lang
steenuil has quit [Read error: Connection reset by peer]
steenuil has joined #crystal-lang
ryanw-se has joined #crystal-lang
<crystal-gh> [crystal] asterite opened pull request #2795: Make `{"foo": 1}` also be a named tuple (master...feature/named_argument_string) https://git.io/voZvW
bcardiff has quit [Quit: bcardiff]
bcardiff has joined #crystal-lang
bcardiff has quit [Ping timeout: 260 seconds]
<havenwood> Is there still an example RubyGems extension written in Crystal around? I recall it being in the Crystal repo but can't seem to find it.
<jhass> havenwood: you probably mean https://github.com/manastech/crystal_ruby but have a look at https://github.com/phoffer/crystalized_ruby
<havenwood> jhass: yup, that's what i was thinking. didn't know about crystalized_ruby, will look - thanks!
ruslux has joined #crystal-lang
soveran has quit [Remote host closed the connection]
mhib has quit [Remote host closed the connection]
soveran has joined #crystal-lang
<BlaXpirit> so should we finally set up the bridge between IRC and Gitter? jhass, asterite?
<BlaXpirit> there's a nice open source bot, doesn't look too bad
<BlaXpirit> I would run the bot
<jhass> how many people do actually use the gitter channel?
<BlaXpirit> i dunno, pretty few
<jhass> dunno we can try how terrible it actually is
<BlaXpirit> woops, like 2 messages a week
<jhass> but I expect it to be pretty terrible
<BlaXpirit> https://gitter.im/FromIRC/testing / ##blaxpirit-test
paulcsmi_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Oliphaunte has quit [Remote host closed the connection]
kulelu88 has joined #crystal-lang
gloscombe has joined #crystal-lang
ruslux has quit [Ping timeout: 250 seconds]
bjz_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
bjz has joined #crystal-lang
ragmaanir has quit [Quit: Leaving]
bjz has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
bjz has joined #crystal-lang
gloscombe has quit [Quit: Lost terminal]
senorprogrammer has joined #crystal-lang
<crystal-gh> [crystal] asterite closed pull request #2795: Make `{"foo": 1}` also be a named tuple (master...feature/named_argument_string) https://git.io/voZvW
bjz has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
donpdonp has joined #crystal-lang
<donpdonp> 'undefined method 'length' for Array(JSON::Type) (compile-time type is JSON::Type)
<donpdonp> hmm got my langs mixed up. .size
soveran has quit [Remote host closed the connection]
<donpdonp> .as_a.map{|a| puts a.class} => gives all "Array(Json::Type)", but puts.size gives "undefined method 'size' for Bool (compile-time type is JSON::Type)"
<donpdonp> its an array of arrays parsed from json. I dont understand why puts a.size is giving an err about Bool
<travis-ci> crystal-lang/crystal#3acaca7 (master - Merge pull request #2795 from crystal-lang/feature/named_argument_string): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/136835055
<donpdonp> answer: i dont understand the diff between as_a and to_a. but know I know to_a is what I want :)
soveran has joined #crystal-lang
soveran has quit [Ping timeout: 276 seconds]
trapped has quit [Read error: Connection reset by peer]
<crystal-gh> [crystal] asterite pushed 1 new commit to master: https://git.io/voZub
<crystal-gh> crystal/master 913c84b Ary Borenszweig: Updated Changelog
<asterite> jhass: if you want/can, whenever you have time, please add all the openssl stuff to the changelog... I prefer you to do that because you understand what you did :-)
<jhass> I'll try to keep it in mind
<asterite> jhass: no rush at all, I plan to release 0.18.0 next week, and I'll wait for ysbaddaden to upgrade shards to the new behaviour