<FromGitter>
<iambudi> Just wondering if SO_REUSEPORT in server.listen(true) works on Sierra ? wrk test shows it does not make any differences wether use true or not.
<Kug3lis>
That feeling then after ~2h of self-fking u manage to compile crystal on arm :D
<Kug3lis>
Is there posibility to limit processes of crystal running then running make? because I ran into the problem that it runs and tries to fork but I have only 512mb ram and 8 cores so it tries to fork too much :D
<Kug3lis>
apparently threads option is ignored by compiler...
<FromGitter>
<faustinoaq> Kug3lis, Did you try `crystal build --no-debug --threads=1 foo.cr` ? Also Try to increase the swap memory at least 2GB
<Kug3lis>
I am running make on crystal :)
<Kug3lis>
P.S. I am running on really slow microSD card so swapping is out of question the whole system freezes
<Kug3lis>
the problem is that it forks it's processes witch runs with over 200mb of ram...
<Kug3lis>
it makes another copy of 200
snsei has joined #crystal-lang
jaitaiwan has quit [Quit: ZNC - 1.6.0 - http://znc.in]
jaitaiwan has joined #crystal-lang
<FromGitter>
<faustinoaq> Kug3lis, Are you trying to compile Crystal using make on 512MB RAM ? sounds like a challenge 😅
<Kug3lis>
I gave up as I already had compiler crystal bin :D
<Kug3lis>
i mean I understand it works fast in normal environments :D but still I want to run it on 256MB :D
jaitaiwan has quit [Client Quit]
<FromGitter>
<faustinoaq> Kug3lis, Do you want to compile crystal programs using 256MB of RAM ? I think is pretty possible, maybe you need to use some tricks, I remember codepinic (https://github.com/codepicnic) had environments running crystal on 256MB
<Kug3lis>
no no I am will be just running in 256MB already compiled :D
<Kug3lis>
P.S. I am building now another schematic with freaking 4GB ram :D fuck this shit :D
jaitaiwan has joined #crystal-lang
<FromGitter>
<fridgerator> after compiling, the ram usage is really minimal
<FromGitter>
<fridgerator> I like to use docker to compile locally and deploy the binary
<Kug3lis>
yep thats why I going with Crystal...
<FromGitter>
<faustinoaq> Kug3lis, Yeah, memory footprint is very minimal
<Kug3lis>
doesnt apply for me :D I am running Crystal on this badboy friendlyarm.com/index.php?route=product/product&product_id=197
<Kug3lis>
ok I am going to the bed... 3:40AM here...
Kug3lis is now known as Kug3lis_off
<FromGitter>
<faustinoaq> Good night! 😴
<FromGitter>
<faustinoaq> > Just wondering if SO_REUSEPORT in server.listen(true) works on Sierra ? wrk test shows it does not make any differences wether use true or not. ⏎ ⏎ @iambudi Did you try launching more processes? ⏎ ⏎ ```for i in $(seq 1 $(nproc --all)); do ⏎ ./server & ⏎ done ⏎ ⏎ wait``` [https://gitter.im/crystal-lang/crystal?at=59e964fa5c40c1ba79c266db]
<FromGitter>
<faustinoaq> Try ☝️
snsei has quit [Remote host closed the connection]
jaitaiwan has quit [Quit: ZNC - 1.6.0 - http://znc.in]
jaitaiwan has joined #crystal-lang
jaitaiwan has quit [Client Quit]
jaitaiwan has joined #crystal-lang
jaitaiwan has quit [Quit: ZNC - 1.6.0 - http://znc.in]
jaitaiwan has joined #crystal-lang
DTZUZO_ has joined #crystal-lang
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
DTZUZO_ has quit [Read error: Connection reset by peer]
<FromGitter>
<iambudi> > > @iambudi Did you try launching more processes? ⏎ ⏎ ```for i in $(seq 1 $(nproc --all)); do ⏎ ./server & ⏎ done ⏎ ⏎ wait``` ⏎ ⏎ Well, i open 4 terminal tabs and each runs ./server ... [https://gitter.im/crystal-lang/crystal?at=59e9a280614889d475d9f18b]
<FromGitter>
<iambudi> I have 4 cpu cores.
claudiuinberlin has joined #crystal-lang
alex`` has joined #crystal-lang
Guest65906 has quit [Read error: No route to host]
Ven_ has joined #crystal-lang
fiete is now known as xfiete
xfiete is now known as fiete
jokke is now known as portwolf
<FromGitter>
<Papierkorb> @Rinkana, All of them will perform the same. They could have differing error margins though. With that, I'd prefer the first method if `DEG2RAD` isn't useful for anything else.
portwolf has quit [Disconnected by services]
jokke has joined #crystal-lang
jokke is now known as mac_mario
<FromGitter>
<Papierkorb> @Rinkana, however you can check it yourself using the `Benchmark` lib (Bundled with the stdlib: `require "benchmark"`). Make sure to test with a `--release` build
mac_mario is now known as jokke
jokke is now known as Luyin
Luyin is now known as jokke
<FromGitter>
<Papierkorb> @Kug3lis, those nano pi's look interesting. No idea for what, but interesting
Kug3lis_off is now known as Kug3lis
Ven_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Ven has joined #crystal-lang
Ven is now known as Guest16823
<FromGitter>
<montychen> it is a bug of array
<FromGitter>
<montychen> it is a bug of Array ` ary = Array.new(3, [1]) ⏎ ary # => [ [1], [1], [1] ] ⏎ ary[0][0] = 2 ⏎ ary # => [ [2], [2], [2] ] ` ary should be [ [2], [1], [1]] , but the result is [ [2], [2], [2] ] [https://gitter.im/crystal-lang/crystal?at=59e9ae96614889d475da2fa7]
<FromGitter>
<Papierkorb> @montychen Not a bug. You pass in the array there by reference. All objects inside that new outer array point to the same array object.
<FromGitter>
<Papierkorb> Use the yielding version of `Array#initialize` to return a unique array for each
<FromGitter>
<montychen> 3Q!
<FromGitter>
<montychen> thanks
Kug3lis is now known as Kug3lis_off
<FromGitter>
<iambudi> @faustinoaq Tried with shell script you provide. It's slower around 30% than without using it. Wierd.
jaitaiwan has quit [K-Lined]
_whitelogger has quit [K-Lined]
_whitelogger has joined #crystal-lang
Guest16823 has quit [Ping timeout: 240 seconds]
claudiuinberlin has joined #crystal-lang
flaviodesousa has joined #crystal-lang
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<crystal-gh>
[crystal] RX14 closed pull request #5149: Compiler: don't type generic type instance var initialization on non-instantiated generics (master...bug/4291-generic-type-initialization) https://git.io/vddfu
Ven_ has joined #crystal-lang
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jfontan has quit [Remote host closed the connection]
jfontan has joined #crystal-lang
jfontan has quit [Remote host closed the connection]
<FromGitter>
<sdogruyol> yo @RX14 have you ever thought of migrating crane to crystal-community e.g
<crystal-gh>
[crystal] asterite opened pull request #5151: Semantic: before setting a number as free variable, check if exists with a different value (master...bug/2699-static-array-restriction) https://git.io/vdFf5
<jsn->
asterite, oh btw, apparently your patch (StaticArray) improves the time of switch version by 8 seconds, tail-call version by ~2 seconds; do you have any clues as to why it might be so, by chance?
<FromGitter>
<sdogruyol> which patch?
claudiuinberlin has joined #crystal-lang
<jsn->
just a little fix to my useless microbenchmark
<FromGitter>
<sdogruyol> how's your road trip with Crystal so far @jsn?
<FromGitter>
<sdogruyol> hope you liked it
<FromGitter>
<asterite> jsn-: llvm knows the size of static array (can't change) so probably can optimize it better. In go I see you also use the same type
<jsn->
sdogruyol, yeah, i like it alot so far
<RX14>
@sdogruyol not until it's finished lol
<jsn->
asterite, yeah, i understand how it works, but why the speed up is different with different dispatch -- that's what puzzles me
<FromGitter>
<sdogruyol> @RX14 you got your point there but not everyone wants that. Sometimes it's get things done
<FromGitter>
<Papierkorb> The language shouldn't help you write shit code. But it shouldn't restrict those who know what they're doing either.
<FromGitter>
<sdogruyol> ^
<RX14>
the problem is i struggle to find an example of when you'd want that when you know what you're doing
<FromGitter>
<sdogruyol> it shouldnt get in your way (ever).
Guest21513 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<FromGitter>
<sdogruyol> that's why I love Ruby at first
<FromGitter>
<Papierkorb> But I've also seen too many permanent temporary shit solutions already
<RX14>
there's also the practicalities to consider
<FromGitter>
<sdogruyol> @RX14 not everyone knows as much as you do
<FromGitter>
<sdogruyol> that's for sure :P
<RX14>
ok but what difference does that amke
<FromGitter>
<Papierkorb> RX14, for me the real fix would be that a module of only abstract methods is automatically "inherited" by everything satisfying it
<FromGitter>
<Papierkorb> Which is what you usually actually want
<RX14>
if its impractical saying that people don't know it's impractical doesn't make it easier to implement lol
<RX14>
i.e. Value types make no sense
<RX14>
therefore Object is a union of Value and Reference
<RX14>
Reference as a type would be OK
<FromGitter>
<Papierkorb> @sdogruyol At least those who came here with awful "everything is a hash" code were eager to learn the correct way, and subsequently turned their code into reasonable code.
<RX14>
but still the callsite dispatch impl would be messy
<RX14>
and long
<RX14>
and slow
<FromGitter>
<Papierkorb> Yeah Reference and Value should be allowed, Object not really. That auto-heap-boxing would be arcane, it would turn the already non-obvious pass-by-value into a pass-by-dunno nightmare
<RX14>
@Papierkorb with a language where you don't need to even define argument types i really don't like that idea
<FromGitter>
<sdogruyol> @Papierkorb I'm also thinking about the ones who dont bother to come here or elsewhere and just stops using Crystal e.g
<RX14>
you can't have a 100% retention rate
<FromGitter>
<Papierkorb> @sdogruyol Sucks, but to be honest, if you didn't look for help (of any kind, not only this chat room), then you wouldn't accept help either, and wouldn't be happy in Crystal either
<RX14>
if they can't figure it out and won't get help then what can we do?
<FromGitter>
<Papierkorb> So, is it really a loss?
<RX14>
I don't want to make the language worse to make it easier for beginners
<RX14>
making the language easy for beginners is great
<RX14>
but if you do that by using hacks it's bad for everyone
<FromGitter>
<Papierkorb> That person will bonk their head at the next language too
<FromGitter>
<sdogruyol> that's a possibility
<Groogy>
also current way in how to solve it, wouldn't make it easier
<FromGitter>
<Rinkana> And every language has it's quirks
<Groogy>
it would make it a living nightmare
<FromGitter>
<sdogruyol> however I wouldn't want that (as much as possible though)
<RX14>
I created a kilobyte+ struct for interfacting with the SDP8 orbital prediction C code
<RX14>
and you do NOT want Value being 2KiB long
<Groogy>
honestly, the best is just to get really dedicted people right now until it is a state where it is viable for live productions
<Groogy>
I mean there's early adopters but they are crazy :P
<FromGitter>
<Papierkorb> Yes, as much as possible. I'm a huge fan of great documentation (Qt Project <3), good and (from the languages POV) logical structures, and so on. But truth is, if you don't want to grow, you accept stagnation, and that's fine, as long it doesn't become of our issues
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Groogy>
that's a big.... struct
<Groogy>
what library is that?
<RX14>
sourcecode is in that github repo
<RX14>
it's for orbital prediction Groogy
<RX14>
it has a *lot* of parameters for the orbital model
<RX14>
it always takes an Elset* though
<RX14>
so it's not being moved around much if at all
FromGitter has quit [Ping timeout: 258 seconds]
<Groogy>
huh cool
<Groogy>
anyway back to writing gui code ^^
<RX14>
its probably the second favourite library i've written
<RX14>
after fast_irc.cr
claudiuinberlin has joined #crystal-lang
Ven has joined #crystal-lang
Ven is now known as Guest72916
<crystal-gh>
[crystal] asterite closed pull request #5151: Semantic: before setting a number as free variable, check if exists with a different value (master...bug/2699-static-array-restriction) https://git.io/vdFf5
<crystal-gh>
[crystal] asterite pushed 2 new commits to master: https://git.io/vdFLg
<crystal-gh>
crystal/master 4075f9c Ary Borenszweig: Docs: don't link libs or types inside libs
<Groogy>
hmm then I need to generate the code somehow bit differently...
echProton has quit [Ping timeout: 260 seconds]
Guest72916 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
DissonantGu1le has joined #crystal-lang
<Groogy>
there we go
DissonantGuil3 has quit [Ping timeout: 248 seconds]
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
claudiuinberlin has joined #crystal-lang
claudiuinberlin has quit [Client Quit]
claudiuinberlin has joined #crystal-lang
Ven has joined #crystal-lang
Ven is now known as Guest33067
gcds has joined #crystal-lang
<Groogy>
hmm why do I get macro must be defined before this point but is defined later, when I am including the module defining it before that point :/
Guest33067 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Groogy>
yeah I found it
<gcds>
Maybe someone has hidden plugin or editor with nice autocompletion for Crystal? :D After working with JetBrain IDE's its hard to work with Crystal :D
<gcds>
I was defining @proc type as this @proc : Proc(HTTP::WebSocket, HTTP::Server::Context) like any other class instance variable
<crystal-gh>
[crystal] Groogy opened pull request #5153: Implemented #sorted_insert for Array using binary search. (master...sorted_insert) https://git.io/vdFaS
<Groogy>
there, hopefully it ain't completley shit
<RX14>
gcds, well surely something around it is messing up the parser
<RX14>
i need a full snippet
<gcds>
wtf, I deleted that file and tried to replicate the same code works now...
<Groogy>
there was probably someething you missed
<gcds>
maybe
<RX14>
Groogy, you use insert in the examples lol
<Groogy>
oh lol dang it xD
<RX14>
it's called sorted_insert
<Groogy>
yeah crap copy paste error
<RX14>
Groogy, you don't need the &block and typically we leave it out
<Groogy>
just need to squash the commit I guess and force push it up again
<Groogy>
eh when I tried I needed it because of the overload?
<RX14>
you use yield
<RX14>
it detects automatically
<Groogy>
ah right alright
<Groogy>
write all of it in the pull request so I don't miss anything
<RX14>
Groogy, isn't it before the lowest index where the block returns true for the doc
<Groogy>
no, it is highest index you return true for, and lowest index you return false for
<Groogy>
I guess?
<Groogy>
Your code was doing it backwards I believe the one you showed
<RX14>
looking at your example
<RX14>
x.size >= var.size
<RX14>
going from the left
<Groogy>
you insert 2, means 1 returns true while 3 returns false
<RX14>
x.size == 1
<RX14>
var.size == 2
<RX14>
1 >= 2 # => false
<RX14>
the block returns false
<RX14>
surely it should be inserted at index 0
<RX14>
its confusing to me too lol
<Groogy>
inserting 2 will give us that 1 >= 2 is false, yeah and 3 => 2 is true
<Groogy>
hmm so I wrote it reverse way around (I tried to keep it in line with how it was written in bsearch_index)
<RX14>
Groogy, check your NTP
<RX14>
you committed 2 hours from now
<Groogy>
NTP?
<Groogy>
oh
<RX14>
network time protocol
<Groogy>
crap windows screwed up the internal clock it seems
<RX14>
i'm saying your UTC is broken
<RX14>
yeah Groogy
<RX14>
you can fix that
<RX14>
there's an option on whether the bios RTC is in utc or local
<RX14>
windows requires it local
<RX14>
unix keeps it utc
<RX14>
which is sane
<Groogy>
there that should fix it
<RX14>
but linux it's configurable
<RX14>
and windows not
<Groogy>
nah I should told linux to update from network
<RX14>
so switch rtc to local and ntp sync
<Groogy>
so they'll have to battle it out I guess
<RX14>
well i'd do both to prevent it in the future
<Groogy>
anyway back to the documentation text
<Groogy>
so it should be "before the index where block returns true and after the index where the block returns false#
<Groogy>
or hmm
<RX14>
im confused
<RX14>
is the bsearch_index doc wrong?
<RX14>
oh no nvm
<RX14>
it should be inserts before the first element where the passed block returns true
<RX14>
and a `` See `Indexable#bsearch_index` ``
<Groogy>
for the shorthand without a block: "# Insert *object* before the element where *object* is smaller than."
<RX14>
no
<RX14>
just say insert it in order
<RX14>
or insert to preserve ordering
<RX14>
also mention the array must be soreted constraint for both
<Groogy>
"Array must be sorted or empty prior to invoking this method."
<Groogy>
adding another spec as well
<Groogy>
for empty array
<Groogy>
is it okay to use #shuffle in the test? Since it uses a random generator donno if that would taint the global namespace or something
<RX14>
no lol
<Groogy>
no as in not okay right?
<RX14>
no as in it's fine
<RX14>
what could it taint?
<RX14>
we seed the random generator from urandom
<Groogy>
well since it is probably not random using noise you probably can't "go back" to where the DEFAULT random was
<Groogy>
which means it's been modified between tests
<RX14>
it's not between tests though
<RX14>
it's in a test
<RX14>
if we wanted a predictably seeded prng we'd make that a feature of the spec harness
claudiuinberlin has joined #crystal-lang
<RX14>
and not make it so brittle that using it in an unsuspecting test would break everything
claudiuinberlin has quit [Client Quit]
<Groogy>
there done ^^
<Groogy>
should also be correct time stamp?
<Groogy>
ah no it isn't dang it, I have to fix that
claudiuinberlin has joined #crystal-lang
claudiuinberlin has quit [Client Quit]
<gcds>
RX14 do remember my struggle of serialport stuff? Here is my lib https://github.com/aurimasniekis/serialports (I copied libserialport binding from Sija implementation) but still its not perfect because I tried to make it bit nicer because libserialport lib is not nicely done...
FromGitter has joined #crystal-lang
<oprypin>
`Unhandled exception in spawn: SSL_connect: Success (Errno)`
<oprypin>
aaaand the process keeps running
<oprypin>
y u do dis crystal.
<Groogy>
huh RX14 what is this error from travis? Formatting produced changes, is it just the formatting of the code?
<oprypin>
Groogy, run crystal tool format
<oprypin>
your code does not conform to that. bot runs format, sees changes and fails
<oprypin>
one of the least helpful possible errors
<gcds>
oprypin I think it's because STDLib so code formatting should match
<Groogy>
oh wow it was literally a trailing whitespace in a comment xD
snsei has joined #crystal-lang
gcds has quit [Ping timeout: 240 seconds]
Kug3lis_off is now known as Kug3lis
gcds has joined #crystal-lang
<gcds>
Wait is JSON.mapping only one way?
<oprypin>
gcds, for my best guess of what you meant, no, it isn't
<gcds>
ech, so it provides to deserialize but not serialzie oh well...
<Groogy>
I don't use JSON mapping
<gcds>
Groogy what do you use?
<Groogy>
eh my kind of own wrapper around YAML
<Groogy>
(which also has a mapping alternative)
<oprypin>
gcds, what are you saying? i said it's not one way
<oprypin>
and your remark confirmed my guess
<Groogy>
ooooh I read it wrong what you said, I thought you said gcds as "is the only way"
<Groogy>
nvm you most probably want JSON.mapping
gcds has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
gcds has joined #crystal-lang
snsei has quit [Remote host closed the connection]
gcds has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
gcds has joined #crystal-lang
<Kug3lis>
freaking god spent like 5h today trying to figure out why Serialport does not want to write.... opened mode: READ...
<FromGitter>
<paulcsmith> I'm working on some changes to the Heroku build pack where I need to `shards install`, but I can't figure out how to do it. When I try it I get `shards: command not found`
<FromGitter>
<paulcsmith> I've gone through the whole repo and can't find how it installs the shards
<FromGitter>
<crisward> @paulcsmith think it uses crystal deps, this is just an alias of shards install
<FromGitter>
<paulcsmith> @crisward Ah you're right. Thank you :) I'll give that a shot
<FromGitter>
<crisward> I've modified it quite a bit, updated the GC to actually give memory back to the OS after it's released from crystal.
<FromGitter>
<crisward> I've also got a dev branch which runs sentry, for dev restarts. We use it with dokku.
<FromGitter>
<paulcsmith> Cool! Checking out your fork now
<FromGitter>
<paulcsmith> In mine I added the option to include a `crystal_post_compile` hook so you can optionally install other command line tools that rely on Crystal. In this case, the Lucky CLI
<FromGitter>
<crisward> Some of the changes rely on pulling binaries from our website, so probably only useful to us. You should take a look at dokku if you haven't already. It allows you to create a self hosted heroku. We run it on 14 servers, very nice common deploy target. We have php, node and crystal websites running with it.
<FromGitter>
<crisward> Actually I think we have a python too..
claudiuinberlin has joined #crystal-lang
<FromGitter>
<paulcsmith> I really like the Heroku postgres features though. Auto backup, high availability, failover. All that jazz. If I don't need that, dokku looks sweet
<FromGitter>
<paulcsmith> It uses heroku build packs right?
<FromGitter>
<paulcsmith> Also Heroku review apps. So nice
<FromGitter>
<crisward> Yes, it uses heroku buildpacks. It also has plugins for postgres, redis etc. Though you'd have to manage fail over yourself. We use the mysql dokku plugin with a million users a month website, so it can work at a reasonable scale. Though I completely understand giving that problem away.
<FromGitter>
<paulcsmith> It looks like you made it so that the crystal binary is installed so you can call `crystal`, but I'm not sure where/how you did that. Could you point me to where in your fork you do that?
kubaxvx has joined #crystal-lang
kubaxvx has quit [Client Quit]
kubaxvx has joined #crystal-lang
<FromGitter>
<crisward> It uses curl, pretty sure it creates a curl url from memory, the pulls it in from github.
<FromGitter>
<crisward> After that I pull in our patched versions of libgc and libssh. The garbage collector has just been compiled with a flag to return memory to the server. I think libssh was a later version to get around some issues with the old one in the buildpack.
<FromGitter>
<paulcsmith> Sweet. Thanks!
<FromGitter>
<crisward> We usually use the no-release branch, it's the same without the --release flag. For web apps the added compile time of release isn't always worth the wait. The performance is quicker, but the latency online means a 3ms quicker response time is unnoticeable. I think it'd be worth it on high traffic sites, but we're only using crystal on small scale projects until it's post v1.
<FromGitter>
<crisward> I think it was crystal 0.22 which forced the issue, the build pack was broken for that version as with --release it sometimes never compiled. It was an LLVM bug which was updated in 0.23.1
<FromGitter>
<crisward> Looking forward to the next version. A ton of stuff has been updated and bugs squashed. Seems to be slow to arrive, pretty sure they closed all the tags issues a few weeks back.
kubaxvx has quit [Quit: WeeChat 1.6]
snsei has joined #crystal-lang
kubaxvx has joined #crystal-lang
snsei has quit [Ping timeout: 255 seconds]
kubaxvx has quit [Quit: WeeChat 1.6]
snsei has joined #crystal-lang
<Groogy>
there isn't a macro that let's you delete an already defined method right?
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
<oprypin>
that's not the right terminology, and no, there isn't anything like that
tompaw has joined #crystal-lang
tompaw has left #crystal-lang ["Textual IRC Client: www.textualapp.com"]
<FromGitter>
<krypton97> nice work with the sdl2 crystal bindings, got it working from first try
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
<FromGitter>
<krypton97> I don't know if the team improved the compilation speed or it's because of the c bindings, but it's seems to build much faster
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
<FromGitter>
<asterite> I guess it's because of the c bindings
<FromGitter>
<asterite> Hmmm... I just realized recursive aliases are totally useless. We can remove them from the language :-)
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
Groogy has quit [Quit: WeeChat 1.9]
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
<FromGitter>
<paulcsmith> I'm having a bit of trouble running a crystal program on Heroku. I get this strange error that I can't figure out: ````--: 1: --: cc: not found ⏎ Error: execution of command failed with code: 127: `cc "${@}" -o '/app/.cache/crystal/app-lib-lucky_web-src-run_macros-generate_asset_helpers.cr/macro_run' -rdynamic -lpcre -lm -lgc -lpthread /app/.heroku/crystal/src/ext/libcrystal.a -levent -lrt -ldl
<FromGitter>
... -L/usr/lib -L/usr/local/lib````
<FromGitter>
<paulcsmith> Any ideas?
<FromGitter>
<asterite> it seems there's no cc executable there?
<FromGitter>
<paulcsmith> @crisward Did you ever run into this with your build pack ^
<FromGitter>
<paulcsmith> Is cc a package that needs to be installed or something? I can't find anything on Google about it
snsei has joined #crystal-lang
<FromGitter>
<asterite> cc is the c compiler
<FromGitter>
<faustinoaq> > Is cc a package that needs to be installed or something? ⏎ ⏎ @paulcsmith Yeah, cc is an allias to a c compiler, you can try installing `clang` ot `gcc`
<FromGitter>
<paulcsmith> Ah ok. I'll try that. Thanks for the tip :)
snsei has quit [Ping timeout: 246 seconds]
<crystal-gh>
[crystal] asterite opened pull request #5156: Detect recursive structs through tuples, named tuples and recursive aliases (master...bug/recursive-struct) https://git.io/vdbmq
<FromGitter>
<funny-falcon> Could you tell, why there is a lot of visibility modifiers, but instance variables are accessed fluently? ⏎ `bin/crystal eval 'struct T; @a = 1; end; h=T.new; p h.@a'`
<FromGitter>
<funny-falcon> How instance variable could be hidden from such direct access?