<shelvacu>
I'm using emacs-crystal-mode, I haven't noticed any speed issues.
<Dreamer3>
dyld: Library not loaded: /usr/local/opt/bdw-gc/lib/libgc.1.dylib
<Dreamer3>
is there anything else i can pass to crystal build to make it look in the correct location?
<Dreamer3>
i tried DYLD_FALLBACK_LIBRARY_PATH but either i'm doing it wrong or that's nto working
<Dreamer3>
i'm trying to install via homebrew
sz0 has quit [Quit: Connection closed for inactivity]
<Dreamer3>
is there a better channel?
rtl has quit [Remote host closed the connection]
<FromGitter>
<MaxLap> Is there any doc explaining a little bit the inner details of the compiler?
sz0 has joined #crystal-lang
<FromGitter>
<TheLonelyGhost> I'v spent far too much time messing with cross-compiling crystal to Alpine linux (short story, no luck so far), and a lot of the docs for things like libgc are in the wiki on github
<FromGitter>
<TheLonelyGhost> libgc is actually BOEHM-GC
<FromGitter>
<TheLonelyGhost> **is provided by
<FromGitter>
<TheLonelyGhost> Does that answer anything?
<FromGitter>
<MaxLap> Not really. I mean the steps that crystal does when compiling, how crystal interacts with llvm. I see it creates lots of ASTNodes, but i fail to see how it goes from that to llvm. That kind of inner details.
<FromGitter>
<TheLonelyGhost> AFAIK, once upon a time the compiler was written in Ruby to compile to LLVM and into a binary. It eventually could use that previous compiler binary to compile a new version of itself. That in-between self-hosted magic is a big mystery to me too and I would definitely like some more clarification on it.
<FromGitter>
<TheLonelyGhost> If you're feeling zesty, might try looking at *really* old copies of the compiler when it was written in Ruby...
<FromGitter>
<MaxLap> Hum, that's not a bad idea, thnx
<FromGitter>
<TheLonelyGhost> I'm not driven enough to do that research, but I'd read the heck out of a blog post if someone does
<FromGitter>
<TheLonelyGhost> no prob
ome has joined #crystal-lang
mgarciaisaia has joined #crystal-lang
mgarciaisaia has quit [Ping timeout: 255 seconds]
mgarciaisaia has joined #crystal-lang
<Dreamer3>
how long should it take to build crystal?
<Dreamer3>
seems to be taking several minutes now
jinks7 has joined #crystal-lang
<jaitaiwan>
Hey guys, just wondering about Process.run, why does one of its arguments: "args" not have a type associated with it? What sort of data structure does it accept
jinks7 has left #crystal-lang [#crystal-lang]
_jinks7 has joined #crystal-lang
_jinks7 is now known as jinks7
mgarciaisaia has quit [Ping timeout: 264 seconds]
<jinks7>
jaitaiwan: i think its safe to assume its an array
<jaitaiwan>
jinks7: bastard :|
<jaitaiwan>
:P
<jinks7>
jaitaiwan: just trying to help ;)
<jaitaiwan>
when your colleagues get on IRC just to troll you
<wmoxam>
Dreamer3: it shouldn't take much more than a couple of minutes
<wmoxam>
It takes about 45 seconds on my desktop (relatively recent Intel I3 + SSD)
<Dreamer3>
ok so it's broken somehow
<Dreamer3>
it was complaining about the GC lib until i linked .brew/opt to /usr/local/opt
<Dreamer3>
who knows what it's doing
* Dreamer3
sighs
<bmcginty>
Dreamer3: hey. if you've got a symlink to crystal anywhere else on your $PATH, world-ending things happen when you try to compile... I used to keep a link to my copy of crystal git repo in ~/bin/crystal, but finally renamed to crystal2 so I could compile again.
<Dreamer3>
ok well now my old crystal is gone
<Dreamer3>
but that didn't help things any
<FromGitter>
<martinium> how can I loop my program permanently
<FromGitter>
<martinium> basically I want it to keep restarting
<FromGitter>
<martinium> meh looping over and over until someone does a SIGINT
<Dreamer3>
what would crystal getting stuck in a loop mean?
<FromGitter>
<martinium> hmm top level namespace has a loop method
<Dreamer3>
if you have a specific suggestion i'm all ears
<FromGitter>
<mjago> just looking at the makefile! so you tried symlinking from /usr/local/opt/
<Dreamer3>
yeah and that's when i get the other errors
<Dreamer3>
so i'm not sure if i'm moving forward or not
<FromGitter>
<mjago> I can’t believe building on OSX is such a minefield since some of the core developers use it
<Dreamer3>
yeah
<Dreamer3>
can anyone explain the diff between release=true and not?
bjz has joined #crystal-lang
<FromGitter>
<mjago> is your libevent version 2.0.22 ?
<FromGitter>
<mjago> Cellar/libevent/2.0.22
<Dreamer3>
yes
<Dreamer3>
runnings specs now
<Dreamer3>
without release
<Dreamer3>
damn takes long enough
<Dreamer3>
....
<FromGitter>
<mjago> there’s quite a few - running with release=true
<FromGitter>
<crisward> How should errors be returned from a method in crystal? I don't really want to wrap all my method calls in begin rescue. But it'd be good if I could set specific error messages at the method level to explain what went wrong. Any thoughts? (btw I'm used to js way of the first callback argument being the error).
<Dreamer3>
is release suppsoed to take forever?
<FromGitter>
<mjago> @dreamer3 still running here in release - loads of dwarf warnings - 2.4G memory usage
<Dreamer3>
sepcs pass
<FromGitter>
<mjago> @crisward you can `raise` exceptions
<Dreamer3>
man, what is up with --release
<FromGitter>
<mjago> release build is still running specs...
<FromGitter>
<crisward> just looking at the raise, begin, rescue. Bit like throw, try, catch.
<FromGitter>
<mjago> @Dreamer3 still running here so I guess IO dwarfs any release optimisations - still not finished
<FromGitter>
<mjago> TCPServer#initialize error here! Gotta go
<Dreamer3>
why is it trying to use c++ instead of clang++
<Dreamer3>
just noticed that
<Dreamer3>
ok CC and CXX, but no better
<Dreamer3>
asme compile error in release mode
bjz has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<Dreamer3>
mjago: any progress on those specs?
<Dreamer3>
ok now --stats is helpful
<Dreamer3>
some output
<Dreamer3>
stuck in Codegen (bc+obj): now
<Dreamer3>
memory use keeps going up
<Dreamer3>
trying to use 20.5 to build HEAD
<Dreamer3>
2.5gb
<Dreamer3>
surely that's not normal?
<Dreamer3>
wish i just knew if it was working
<Dreamer3>
mjago: can you build release with stats and share output?
ome has quit [Quit: Connection closed for inactivity]
Raimondii has joined #crystal-lang
Raimondi has quit [Ping timeout: 252 seconds]
Raimondii is now known as Raimondi
<FromGitter>
<ezrast> Any way to force `crystal doc` to document private methods?
<jaitaiwan>
Hey Guys, I have a variable that can be Nil or a class Foo. When I try to access a property of Foo after checking to see if it is nil or not, the compiler complains that undefined method "bar" for Nil (compile time type is Foo | Nil). How can I get around this?
<FromGitter>
<ezrast> @jaitaiwan `var.try &.bar` or `if var; var.bar; end`; the latter only works if `var` is a local variable.
<Dreamer3>
lets try llvm 3.8
<Dreamer3>
this release thing is killing me
bjz has joined #crystal-lang
<jaitaiwan>
FromGitter thanks but neither seem to work unless local var. How would you make it work to see if Foo.bar is nil? at the moment the compiler complains still about any code underneath that
<jaitaiwan>
*outside of the class fyi
<FromGitter>
<mjago> @Dreamer3 just got back - where are you?
<Dreamer3>
where?
<Dreamer3>
lousville
<Dreamer3>
mjago: can you build release with stats?
<Dreamer3>
i'm just curious
<Dreamer3>
llvm 3.8 doesn't seem much diff so far
<Dreamer3>
so weird
<jaitaiwan>
Hey FromGitter, in this code: http://pastebin.com/Dbt588ph shouldn't Foo.name be accessible without declaring a function?
<FromGitter>
<ezrast> @jaitaiwan I think it's supposed to be implied that they're building on the `Person` class from the previous section but that could probably stand to be made clearer.
<FromGitter>
<mjago> @Dreamer3 bc == bitcode I believe
<FromGitter>
<mjago> btw crystal used 2.4G to run my specs
<Dreamer3>
i about to give up
<Dreamer3>
no idea why release is broken
<FromGitter>
<mjago> @Dreamer3 can you compile a simple hello_world.cr in —release ?
<FromGitter>
<mjago> *with release
<Dreamer3>
yes
<Dreamer3>
2.5 seconds
<Dreamer3>
how annoying
yopp has joined #crystal-lang
<FromGitter>
<mjago> @Dreamer3 actually crystal just failed to compile for me in release but compiled in non-release so thats not good
<FromGitter>
<mjago> just `make clean crystal stats=true release=true` with `CXX=clang++` in Makefile which I guess would use 0.20.4 (which I built some time ago from 0.20.1)
<FromGitter>
<mjago> good to go?
<Dreamer3>
doing a compile of HEAD with HEAD now to see if that's any faster :)
<Dreamer3>
yeah after all this i'll try with 3.9 again
<Dreamer3>
vs 3.8
<Dreamer3>
now that i know it just fucking takes forever
<FromGitter>
<mjago> ;)
<FromGitter>
<mjago> It also seems to vary
akwiatkowski has quit [Ping timeout: 255 seconds]
<Dreamer3>
well i'm watching amazon tv too so not expecting it to be exact science
<Dreamer3>
just "about same" or not
<Dreamer3>
although i did 8 threads this time
<FromGitter>
<mjago> Ah well - probably sub 10 on a quiet computer
<Dreamer3>
cpu seems same
<Dreamer3>
ha
<Dreamer3>
i have 3 cpus doing nothing
<Dreamer3>
so i don't think it should matter that much
bjz has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
soveran has joined #crystal-lang
icezimm has joined #crystal-lang
akwiatkowski has joined #crystal-lang
Liothen has quit [Quit: The Dogmatic Law of Shadowsong]
<Dreamer3>
seems the distributed bootstraps could be a lot better
<Dreamer3>
or maybe they have to be blah cause of CPU optimizations
kostya_ has joined #crystal-lang
<splitty_>
How do I link a Crystal library with another Crystal library?
<splitty_>
I'm getting linking errors because both libraries define a main_module:main
<rkeene>
Dreamer3, Distributed ?
<Dreamer3>
the binaries github publishes
<Dreamer3>
crystal/releases
<Dreamer3>
the x86 builds
<Dreamer3>
the one you're using to compile the compiler
<rkeene>
Well, in this case I'm compiling the compiler to bitcode which can be translated to any platform's object code
<rkeene>
There may still be differences in calling convientions and maybe object name mangling, unsure
<Dreamer3>
no idea
<Dreamer3>
i've just been compiling from source a lot
<rkeene>
This should help with being able to compile from source
<Dreamer3>
so what step do you need to covert the bitcode back into compiler?
kostya_ has quit [Quit: Leaving]
<rkeene>
Running ./configure then make on that source should do it
<rkeene>
The prepare-source.sh script modifies the Makefile to compile the bitcode into object code and then link that object code into an executable
<Dreamer3>
interesting
unshadow has quit [Ping timeout: 240 seconds]
<rkeene>
So it's definitely possible to compile Crystal (from bitcode) without Crystal... but I need some testing on other platforms to see where the results fall down
unshadow has joined #crystal-lang
<Dreamer3>
hmmm
<FromGitter>
<jaitaiwan> Hey guys, any example of PrettyPrint being used somewhere?
<Papierkorb>
jaitaiwan: you mean `pp`?
<FromGitter>
<jaitaiwan> No sorry. PrettyPrint class
mark_66 has quit [Remote host closed the connection]
nomethoderror has joined #crystal-lang
nomethoderror_ has joined #crystal-lang
nomethoderror has quit [Read error: Connection reset by peer]
nomethoderror_ has quit [Client Quit]
unshadow has quit [Ping timeout: 258 seconds]
unshadow has joined #crystal-lang
unshadow has quit [Ping timeout: 240 seconds]
unshadow has joined #crystal-lang
soveran has quit [Remote host closed the connection]
jokke has quit [Quit: WeeChat 1.6]
mgarciaisaia has joined #crystal-lang
jokke has joined #crystal-lang
dhk has joined #crystal-lang
soveran has joined #crystal-lang
soveran has joined #crystal-lang
soveran has quit [Changing host]
snsei has joined #crystal-lang
snsei has quit [Client Quit]
mgarciaisaia1 has joined #crystal-lang
mgarciaisaia has quit [Read error: Connection reset by peer]
soveran has quit [Remote host closed the connection]
<TheGillies>
Any rough eta for parallelism>
<TheGillies>
?
<FromGitter>
<denysvitali> Does anyone know why `Kemal` (or, generally speaking, HTTP Server) raises an `Error writing file: Broken pipe (Errno)` when something too big is written to env.response ?
<FromGitter>
<denysvitali> I'm trying to implement `RFC7233` to `Kemal`, but I'm blocked with this problem. I can't understand why the connection gets reset by peer
<FromGitter>
<denysvitali> The error comes from line 80
jokke is now known as jokkepi
jokkepi is now known as jokke
dhk has quit [Quit: Leaving]
soveran has joined #crystal-lang
soveran has joined #crystal-lang
soveran has quit [Changing host]
DeBot has quit [Remote host closed the connection]
DeBot has joined #crystal-lang
p0p0pr37_ has joined #crystal-lang
p0p0pr37 has quit [Ping timeout: 276 seconds]
p0p0pr37_ is now known as p0p0pr37
unshadow_ has joined #crystal-lang
soveran has quit [Remote host closed the connection]
unshadow has quit [Ping timeout: 248 seconds]
soveran has joined #crystal-lang
soveran has joined #crystal-lang
soveran has quit [Changing host]
soveran has quit [Remote host closed the connection]
bjz has joined #crystal-lang
<FromGitter>
<denysvitali> Nevermind, fixed. Now Kemal supports multipart :D
<FromGitter>
<sdogruyol> @denysvitali it's been like that for a long time :)
soveran has joined #crystal-lang
soveran has quit [Changing host]
soveran has joined #crystal-lang
unshadow_ has quit [Ping timeout: 256 seconds]
unshadow has joined #crystal-lang
dhk has joined #crystal-lang
sz0 has quit [Quit: Connection closed for inactivity]
dhk has quit [Quit: Leaving]
<FromGitter>
<drosehn> .. dreamer3: for what it's worth, the homebrew guys just replied to an issue I had entered, and they said that homebrew is just not going to work unless the homebrew prefix is `/usr/local`. I know it's a lot of work to implement a good package manager, so I can understand why they're giving up on trying to keep that option working.
<FromGitter>
<drosehn> It has worked for me in the past, with me using a prefix of `/opt/homebrew`. But I started to run into odd problems in the last month or so, and couldn't get around them.
bjz has quit [Ping timeout: 255 seconds]
bjz_ has joined #crystal-lang
<FromGitter>
<drosehn> I did a quick test where I did build `brew` in `/usr/local`, and that fixed (avoided?) all the odd problems I have been seeing.
<FromGitter>
<drosehn> In the case of crystal-lang, I've been thinking of building it from the github repo anyway, so this is a good time to try that out.
<FromGitter>
<drosehn> Well, not right this minute. but sometime soon!
unshadow has quit [Ping timeout: 264 seconds]
akwiatkowski has joined #crystal-lang
<wmoxam>
speaking of building Crystal, I updated my OpenBSD port to compile 0.20.5, and fixed some issues with it: http://wmoxam.com/crystal-openbsd.html
<FromGitter>
<drosehn> It's nice to see the port to openbsd, btw.
soveran has quit [Remote host closed the connection]
<FromGitter>
<Sija> what ya’ll think about capitalizing exception messages throughout Crystal codebase? @asterite @ysbaddaden @bcardiff?