<FromGitter>
<Blacksmoke16> working on the changelog, will update it tomorrow
<FromGitter>
<tenebrousedge> π π
<FromGitter>
<tenebrousedge> bravo
<FromGitter>
<Blacksmoke16> Thanks :)
<FromGitter>
<Blacksmoke16> Now just gotta get more people to use it ;)
<FromGitter>
<Blacksmoke16> Blog/forum posts to come soon
ur5us has quit [Ping timeout: 240 seconds]
<FromGitter>
<BenMusch> Hi! Iβm a newcomer to the project interested in contributing to the compiler. I've got things running locally. What's a good way to get started with basic contributions? β β Context: Iβm a recent college graduate with some experience building compilers (took compilers class + some research on pyret-lang). But I know very little about Crystal internals other than writing some small toy apps β β
<FromGitter>
<shalabhc> Hi folks, I'm new and installing crystal on MacOS. `brew install crystal` has been running for over 30 mins now as my enthusiasm wanes. Seems like it is installing llvm-9.0.1. Is there a faster way to get going on MacOS?
<FromGitter>
<tenebrousedge> it's weird that llvm would take that long
<FromGitter>
<shalabhc> "Warning: Building llvm from source:" I thought brew would have these precompiled or something.
<FromGitter>
<tenebrousedge> did you do `brew install llvm` first?
<FromGitter>
<tenebrousedge> I'm one of these penguin people so I don't know that much about brew :/
<FromGitter>
<shalabhc> No, it was installing llvm as part of crystal deps. Anyway I might have found the issue
<FromGitter>
<shalabhc> > The bottle needs the Xcode CLT to be installed.
<FromGitter>
<shalabhc> So I'm installing Xcode command line tools now. Hopefully that fixes it.
<FromGitter>
<shalabhc> Crystal looks very interesting, BTW. Even though I'd done more Python :D. I specially like the type inference rules - very practical and out of your way. We'll see how it works out in practice.
<FromGitter>
<shalabhc> How much of it is self hosted?
<FromGitter>
<tenebrousedge> Crystal is written in Crystal. It uses a few C libraries here and there, e.g. PCRE, OpenSSL
<FromGitter>
<watzon> @shalabhc Crystal uses basically the same concurrency model as Go from what I understand
<FromGitter>
<watzon> It uses channels for communication between fibers the same way Go does
<FromGitter>
<halfdan> @Blacksmoke16 That shows me how to define a struct in crystal and how it maps to C - but it doesn't tell me how to use one already defined in C
<FromGitter>
<watzon> Just create a struct called `HsDatabase` with the same fields on it. You should then be able to use it just as you would the C struct.
<FromGitter>
<Blacksmoke16> i think a key point you're missing is, as far as i know, you have to make your crystal c binding lib reflect your c library
<FromGitter>
<watzon> It's based off of crystal_lib I think, but it's a bit easier to use
<FromGitter>
<636f7374> bew β What do you mean by "debug memory leaks"? What are you expecting the tool to do? β From IRC (bridge bot) β FromIRC β <RX14> at least show me the composition of the heap by object type ... [https://gitter.im/crystal-lang/crystal?at=5e3dbadff3718e705deb96b1]
<FromGitter>
<halfdan> @watzon Ok, libgen is great. That worked like a charm and saved me a ton of time
alexherbo2 has joined #crystal-lang
<FromGitter>
<watzon> Good to hear. I use it all the time
<FromGitter>
<grkek> Failed git ls-tree -r --full-tree --name-only v0.1.0 -- shard.yml (). Maybe a commit, branch or file doesn't exist?
<FromGitter>
<grkek> what is this error and how do I deal with it ?
<FromGitter>
<grkek> I have met that error already for the fifth time
<FromGitter>
<Blacksmoke16> whats the context of when it happens?
<FromGitter>
<kinxer> It doesn't look like I can ping @manveru. Does anyone know them? Or am I misremembering their username?
<FromGitter>
<Blacksmoke16> Might be
<FromGitter>
<Blacksmoke16> Oops
<FromGitter>
<kinxer> It looks like the ping worked anyway. Dunno if they're still around here, but I wrote down to tell them when I released my GeoJSON shard (https://github.com/kinxer/crgeojson).
<FromGitter>
<kinxer> Related, @Blacksmoke16: I've never set up CI or auto-generated docs or anything on GitHub. Does it seem reasonable to base my setup on yours for Athena?
<FromGitter>
<Blacksmoke16> yea should be pretty solid
<FromGitter>
<Blacksmoke16> runs CI daily and on PR
<FromGitter>
<kinxer> Cool. I'll do that, then.
<FromGitter>
<Blacksmoke16> tests format, ameba, and specs latest/nightly
<FromGitter>
<Blacksmoke16> api docs are deployed in any push to master
<FromGitter>
<Blacksmoke16> workflow is assuming you dont push directly to master, but go via a PR
<FromGitter>
<kinxer> Yeah, that's how I prefer to work anyway.
<FromGitter>
<Blacksmoke16> would be nice to run ci on push and PR, but if you setup both then it runs it twice when a PR is open
<FromGitter>
<Blacksmoke16> and if you only do push then contributors stuff wont run, and if you only do PR wont run until you make the PR, which is decent, esp with draft PRs these days