NotSoNaive has quit [Read error: Connection reset by peer]
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
Gasher has quit [Quit: Leaving]
trapped has quit [Read error: Connection reset by peer]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
DeBot has quit [Ping timeout: 250 seconds]
DeBot has joined #crystal-lang
tliff has quit [Ping timeout: 246 seconds]
tliff has joined #crystal-lang
_jungh4ns has joined #crystal-lang
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
Philpax has quit [Ping timeout: 250 seconds]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
marcosdsanchez has joined #crystal-lang
bam0 is now known as alsm
pawnbox has quit [Ping timeout: 260 seconds]
<alsm>
Anyone here using Kemal, seems something's changed recently to not allow capturing vars from the url at the root, ie /:name doesn't work anymore
[spoiler] has quit [Quit: Cheers!]
<alsm>
something else weird going on now, not even my / route works
<dome22xl>
Interesting error in crystal-icr anybody ? undefined local variable or method 'h' (did you mean 'c'?)
<dome22xl>
c.class => Nil
<dome22xl>
Guessing its from my previous; ps = "a"; if ps == "a"; b = 1; else c = 2 end;
<dome22xl>
however ps was set to "a"
<dome22xl>
so c then will be created as a Nil object ?
<dome22xl>
aah due to the static typing / compilation
<BlaXpirit>
dome22xl, i have no idea what you're talking about
<dome22xl>
lol
greengriminal has joined #crystal-lang
<dome22xl>
Well in crystal icr i typed the letter h and pressed return
<dome22xl>
i think the variable c is nil because of the ps = "a"; if ps == "a"; b = 1; else c = 2 end;
<dome22xl>
however with ps beening the the value of "a" the else section c is nil as it never gets used.
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #crystal-lang
mgarciaisaia has joined #crystal-lang
mgarciaisaia has left #crystal-lang [#crystal-lang]
marcosdsanchez has quit [Read error: Connection reset by peer]
marcosdsanchez has joined #crystal-lang
alsm has quit [Ping timeout: 246 seconds]
dome22xl has quit [Ping timeout: 276 seconds]
triangles2 has quit [Quit: Leaving]
perks has quit [Quit: perks]
shadeslayer has quit [Ping timeout: 276 seconds]
shadeslayer has joined #crystal-lang
<crystal-gh>
[crystal] asterite pushed 1 new commit to master: https://git.io/v2rSC
<crystal-gh>
crystal/master 256b859 Ary Borenszweig: HTTP::Client: read last "\r\n" in chunked response. Fixes #2243
dome22xl has joined #crystal-lang
<dome22xl>
Anyone talk around here ?
<BlaXpirit>
dome22xl, has been pretty quiet lately.. but sure
<dome22xl>
I can't understand why i think Crystal is very much going to be adopted by people but takes time.
<asterite>
dome22xl: I'm not sure I understand your question
<dome22xl>
Well i achieved 10x performance porting my icersplicer project i created in Ruby so i think its natural that everyone wants to see the possible.
<BlaXpirit>
asterite, I wanted to ask you something. Do you realize that the current concurrency model, even without threads, poses many of the problems of actual threads? The points at which execution jumps between threads are unpredictable (well technically they are but still...)
<asterite>
BlaXpirit: Yes. But the solution is simple: instead of sharing memory, you use channels to communicate
<asterite>
Or... I don't understand what the real issue is, I only heard wonders about Go's concurrency model
<asterite>
(or CSP, for that matter)
<BlaXpirit>
well Go's concurrency model is actually not very good
<BlaXpirit>
the way Python and C# do it, the points at which execution may jump are explicit
<BlaXpirit>
async/await and whatnot
<dome22xl>
I am saying everyone will be interested however there is only a small learning curve from the ruby community.
<BlaXpirit>
but that's just limited to 1 thread, I suppose
<BlaXpirit>
which works well for Python because it's limited to 1 thread regardless :|
<asterite>
Yes, we considered the async/await model... well, actually waj understand a lot more about concurrency than me. But it's more bothersome for the user, to add all those annotations and explicit stuff
<asterite>
Also, it's not super unpredictable: you have IO, the jump might happen
<BlaXpirit>
well no, it might happen in any function you call
<dome22xl>
Great language love its far.
<asterite>
dome22xl: Thanks :-)
<asterite>
BlaXpirit: true... but I think in a language like crystal it can make things more cryptic
<asterite>
Well, I get you could use `var getStringTask` there...
<asterite>
Mmm... Yes, the language will have to know about async/await and rewrite methods, so when you do "return 1" it actually does "return Task.new(1)" or something like that
<dome22xl>
Does the object.methods functionality need porting or are the other ideas / ways to get such things ?
<BlaXpirit>
asterite, the gist of it is everything is in one thread, and whenever there is 'await' execution may jump
<BlaXpirit>
I suppose being limited to 1 thread is not very good
<BlaXpirit>
but then again, for web frameworks it could be nice. just run 4 processes or even threads, each of which has the async stuff
<BlaXpirit>
and I'm forgetting that web frameworks are good with just OS threads because they aren't supposed to share state anyway
<BlaXpirit>
meh, forget about it. everything is good :D
<asterite>
dome22xl: that's mostly runtime reflection, which we tried to avoid if possible... for now it will remain outside the standard library
<asterite>
But yes, 1 thread is pretty limited... in any case, waj knows much more about concurrency than me, and I trust his decisions :-)
mgarciaisaia1 has joined #crystal-lang
<yxhuvvd>
channels is a great default that will fulfill the need of most people.
<dome22xl>
Ooh ok i see what you mean.
<yxhuvvd>
if there are building blocks to build other threaded models, even better. personally I'm itching to implement the disruptor pattern and see how it performs.
<dome22xl>
Crystal and Ruby are completely different worlds once you start to think about the compilation.
<BlaXpirit>
dome22xl, good that you realize this
mgarciaisaia has joined #crystal-lang
mgarciaisaia1 has quit [Ping timeout: 260 seconds]
<crystal-gh>
[crystal] Dreauw closed pull request #2230: Add swapcase for String and Char (master...swapcase) https://git.io/v2ukk
dome22xl has quit [Read error: Connection reset by peer]
dome22xl has joined #crystal-lang
dome22xl has quit [Read error: Connection reset by peer]
dome22xl has joined #crystal-lang
<jokke>
asterite: i tried asking here before but i guess no one was online: is there any constant that's only set when compiled with --release or the other way around (or even better some constant set only for spec)
<crystal-gh>
[crystal] luislavena opened pull request #2250: Format documenting code samples and include formatter instructions (gh-pages...add-formatter-documenting-code) https://git.io/v2oQj