jhass changed the topic of #crystal-lang to: The Crystal programming language | http://crystal-lang.org | Crystal 0.9.1 | Fund Crystals development: http://is.gd/X7PRtI | 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
olek_poz has quit [Ping timeout: 260 seconds]
Excurio has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
pawnbox has quit [Ping timeout: 255 seconds]
pawnbox has joined #crystal-lang
leafybasil has quit [Remote host closed the connection]
pawnbox has quit [Ping timeout: 244 seconds]
<pleiosaur> what's crystal's timeline for a 1.0 release? not trying to rush anyone, just curious
<jhass> ?roadmap
<DeBot> You can find the roadmap at https://github.com/manastech/crystal/wiki/Roadmap
pawnbox has joined #crystal-lang
pawnbox has quit [Ping timeout: 276 seconds]
Cidan is now known as zz_Cidan
zz_Cidan is now known as Cidan
Cidan is now known as zz_Cidan
JimH_ has joined #crystal-lang
<JimH_> Is there a library for web sessions in crystal?
pawnbox has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
blue_deref has quit [Quit: bbn]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
JimH_ has quit [Ping timeout: 246 seconds]
pawnbox has joined #crystal-lang
pawnbox_ has joined #crystal-lang
pawnbox has quit [Ping timeout: 250 seconds]
pawnbox_ has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
trapped has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
fdisotto has joined #crystal-lang
fdisotto__ has quit [Ping timeout: 246 seconds]
ponga has joined #crystal-lang
ScoobyDoo has joined #crystal-lang
<ScoobyDoo> Hi, is Crystal classical OO lang or functional programming?
<ScoobyDoo> Sorry, I see in the docs its OO.
<ScoobyDoo> Which of the web frameworks are more ready for production at this time?
<fowlduck> pretty sure the language itself isn't even ready for production at this time
trapped has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ScoobyDoo has quit [Ping timeout: 246 seconds]
trapped has joined #crystal-lang
olek_poz has joined #crystal-lang
Sadin has quit [Quit: Leaving]
Sadin has joined #crystal-lang
trapped has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
xd1le has joined #crystal-lang
Sadin has quit [Ping timeout: 250 seconds]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
olek_poz has quit [Ping timeout: 260 seconds]
leafybasil has joined #crystal-lang
leafybasil has quit [Remote host closed the connection]
leafybasil has joined #crystal-lang
olek_poz has joined #crystal-lang
ziggypup has joined #crystal-lang
ziggypup has left #crystal-lang [#crystal-lang]
Bofu2U has joined #crystal-lang
xd1le has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
ScoobyDoo has joined #crystal-lang
<ScoobyDoo> Hi, should one use crystal in production right now or wait for v 1.0?
<ytti> what was the reason to omit 'not' in favour of '!'
<ytti> is there reason why 'while' does not behave like unless/if
<ytti> you can't do
<ytti> something while condition
trapped has joined #crystal-lang
leafybasil has quit []
leafybasil has joined #crystal-lang
<ytti> awww
leafybasil has quit [Client Quit]
<ytti> no wait time
<ytti> wait forevers
leafybasi is now known as leafybasil
trapped has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ssvb has quit [Ping timeout: 250 seconds]
trapped has joined #crystal-lang
trapped has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ScoobyDoo has quit [Ping timeout: 246 seconds]
trapped has joined #crystal-lang
ssvb has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
olek_poz has quit [Remote host closed the connection]
Sadin has joined #crystal-lang
trapped has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<BlaXpirit> so formatter changes this "#{filename[0 .. filename.size - 4]}.ll" to this "#{filename[0..filename.size - 4]}.ll"
<BlaXpirit> in some places it changes " = " to " = " and in others it changes " = " to " = "
<BlaXpirit> (this is the alignment stuff)
<BlaXpirit> >> ❨╯°□°❩╯︵┻━┻ = 5
<DeBot> BlaXpirit: # => 5 - http://carc.in/#/r/mm9
<BlaXpirit> basically a list of reasons why formatter is detrimental
pawnbox has joined #crystal-lang
trapped has joined #crystal-lang
slash_quit is now known as slash_nick
trapped has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
trapped has joined #crystal-lang
n1ftyn8_ has quit [Ping timeout: 240 seconds]
n1ftyn8_ has joined #crystal-lang
trapped has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ssvb has quit [Ping timeout: 240 seconds]
ssvb has joined #crystal-lang
trapped has joined #crystal-lang
<ytti> how is select() implemented internally in langauges where it includes timeout?
<ytti> i realized i don't know how to implement it
<ytti> like Channel#select is blocking infinitely
<ytti> if i were to implement timeout there, i'd do it with silly loop and sleep
<ytti> but that introduces delay or busy loop
trapped has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
trapped has joined #crystal-lang
<jhass> fowlduck: some do use it for some production grade stuff already though, you just need to be okay with a fast moving target
<jhass> ytti: same reason and and or are not a thing, remove redundancy in the language. Also indirection, not being a method call is less obvious than ! being one
<jhass> ytti: modifer-while and modifier-unless sadly were removed over disagreements on how they should behave
<jhass> er modifier-until I mean
<ytti> jhass, not/! isn't really a biggy, i guess using not in ruby is not nice either ,due to awkward precedence
<jhass> indeed
<ytti> jhass, modifier while is big shame, i hope it makes comeback
<jhass> you'll have to convince asterite & waj of it, let me get the issue
<ytti> thanks
<ytti> i'll voice something...
<jhass> make sure to read the entire thing first
<ytti> my expectiation is not to run body once, if while is false
<ytti> so i'll <AOL> that
<jhass> regarding the timeout for select, I guess it would work by adding a timeout to the event loop that sets a flag and reschedules the waiting fiber
fdisotto has quit [Quit: Konversation terminated!]
fdisotto has joined #crystal-lang
<ytti> i'm trying to write something which does not iterate over array/hash/tuple uselessly
<ytti> but will trigger only when needed
<ytti> and without timeout in sleep, it becomes very complicated hard to understand
<ytti> so i think i'll rather just make it simple and iterate periodicially instead of add lot of complexity for on-time triggering
<ytti> with timeout in sleep, i could wait for new stuff, but stop sleep when anything from the previous ones would need to trigger
<jhass> I'm not sure I follow
<ytti> without select timeout, i'll need more coroutines and channels and it's jsut messy
<ytti> yeah i don't blame you, it's very out-of-context explanation
<jhass> btw your comment doesn't really take any previous discussion into account
<ytti> take away is, timeout for select is super important :)
Excureo has joined #crystal-lang
ssvb has quit [Ping timeout: 250 seconds]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
ssvb has joined #crystal-lang
pawnbox has quit [Ping timeout: 260 seconds]
trapped has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
pawnbox has joined #crystal-lang
trapped has joined #crystal-lang
Bofu2U has quit [Ping timeout: 260 seconds]
Bofu2U has joined #crystal-lang
<omninonsense> Is there a way to check in a macro something along these lines `{% if T.is_a? Number %}` to cover both `Float`s and `Int`s?
fschuindt has quit [Quit: WeeChat 1.3]
<omninonsense> jhass: My hero :D
<omninonsense> hmm
<omninonsense> doesn't work if T is a template type
<omninonsense> oh this works only on literals anyway
<jhass> yeah
<omninonsense> I hoped it was just named that
<omninonsense> so, I'll basically need to check for each of the possible types?
<jhass> maybe add some context?
<jhass> not sure what you're doing
<omninonsense> Hold on
<omninonsense> http://carc.in/#/r/mmr essentially this gives nil all the time now (size_for_floats isn't defined in the example)
<omninonsense> (I naively switched to == after is_a? didn't work, lol)
<jhass> just step out of the macro language there, LLVM should optimize the condition away since it will be always truthy or falsy in the generated code
<jhass> though I guess it would be kinda neat if we find a way to not compile at all instead of returning nil when calling .size on a non numeric range
<jhass> or actually just super to Enumerable#size?
<jhass> just because it's not numeric it doesn't mean it doesn't have a countable amount of elements
<omninonsense> I switched to macros after this didn't work: http://carc.in/#/r/mmv
<omninonsense> jhass: oh I know, I just tried to match ruby's behaviour, because Ruby returns nil
<omninonsense> but originally it already does just use Enumerable#size anyway
<jhass> hrm, class is missing stuff
<omninonsense> Why did it even get to the "size_for_floats" part anyway, though? Shouldn't it have been clever enough to use `return nil unless ...` since String isn't a Number?
Sadin has quit [Ping timeout: 244 seconds]
Excureo has quit [Remote host closed the connection]
<jhass> @instance_vars don't reduce types
<omninonsense> ah!
<omninonsense> Didn't know that
<omninonsense> Thanks :D
Excureo has joined #crystal-lang
<RX14> the reason is because of licking BTW, another thread may change the type of the instance var after the checks
<RX14> licking? locking.
<omninonsense> I was about to ask what licking is
<omninonsense> :P
<RX14> my horrendous typos
<omninonsense> maekes more sense now
<omninonsense> makes
<RX14> yup, it's not too bad either way
<omninonsense> made it call super, and edited the comment, but I am not sure why ruby doesn't do it
<jhass> wouldn't be surprised if Range#size is older than Enumerable#size
<omninonsense> Mhm
<omninonsense> ok time to write the spec for this then
zz_Cidan is now known as Cidan
Excureo has quit [Remote host closed the connection]
Excureo has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
<omninonsense> oh weird
<omninonsense> spec for range size fails if you try to return super for non-numerics? wat http://carc.in/#/r/mmz
<omninonsense> oh
<omninonsense> oh
<omninonsense> ok nvm actually
<omninonsense> the error is still there
omninonsense is now known as [spoiler]
ponga has quit [Quit: Connection closed for inactivity]
<jhass> mh, no idea
<[spoiler]> Should it just return nil for now, and I'll leave a @FIXME comment?
<jhass> I'm afraid I won't merge it with that behavior
<[spoiler]> hmm
<jhass> >> {1, 2}.is_a?({Number, Number})
<DeBot> jhass: can't use Number as generic type argument yet, use a more specific type - http://carc.in/#/r/mn5
<jhass> meh
<jhass> oh well http://carc.in/#/r/mn9
<[spoiler]> wonderfullness
<[spoiler]> jhass: is there a way to make a special Range(Float64, Float64)#size (and for Float32, too?) but meh this still breaks all other types that don't have a #succ
<jhass> well, I kinda tried to do that with the macro def
<[spoiler]> Oh i tried that with the macro too, but I didn't think that's what it would do
<RX14> does a macro def get run for each type too?
<jhass> "too"? I think it's probably the only thing that is
<crystal-gh> [crystal] trapped closed pull request #1882: Add 'label' tag to HTML::Builder (master...master) http://git.io/v8H6f
Cidan is now known as zz_Cidan
<[spoiler]> This actually works, even if it looks oody http://carc.in/#/r/mna
zz_Cidan is now known as Cidan
<crystal-gh> [crystal] omninonsense opened pull request #1895: Range improvements (master...range_improvements) http://git.io/v4ioO
<[spoiler]> I need to learn how to git better
<[spoiler]> hmm is it normal for the build to fail on i386? https://travis-ci.org/manastech/crystal/builds/91890780 like that. the error message looks really intimidatingly long, too D:
Renich has joined #crystal-lang
Renich has quit [Client Quit]
Renich has joined #crystal-lang
trapped has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
matp has quit [Ping timeout: 260 seconds]
matp has joined #crystal-lang
Renich has quit [Quit: leaving]
Renich has joined #crystal-lang
Cidan is now known as zz_Cidan
<[spoiler]> not sure why the build failed :/ it legit works fine here
fdisotto has quit [Remote host closed the connection]
fdisotto has joined #crystal-lang
<[spoiler]> oh i see why
<[spoiler]> Will fix later
jwaldrip has joined #crystal-lang
trapped has joined #crystal-lang
zz_Cidan is now known as Cidan
Dreamer3 has quit [Remote host closed the connection]
kulelu88 has joined #crystal-lang
kulelu88 has joined #crystal-lang
jwaldrip has quit [Quit: Be back later ...]
jwaldrip has joined #crystal-lang
jwaldrip has quit [Remote host closed the connection]
fdisotto has quit [Quit: Konversation terminated!]
doddok has quit [Quit: Leaving]
Cidan is now known as zz_Cidan
zz_Cidan is now known as Cidan
trapped has quit [Quit: Textual IRC Client: www.textualapp.com]
Cidan is now known as zz_Cidan
Raimondi has quit [Quit: The road to wisdom?—Well, it's plain and simple to express: Err and err and err again, but less and less and less. — Piet Hein]
Liothen has quit [Quit: The Dogmatic Law of Shadowsong]
Liothen has joined #crystal-lang
Liothen has quit [Client Quit]
Raimondi has joined #crystal-lang
Liothen has joined #crystal-lang
kulelu88 has left #crystal-lang ["Leaving"]
Liothen has joined #crystal-lang
Liothen has quit [Changing host]
blue_deref has joined #crystal-lang
ismaelga has joined #crystal-lang