bjz has quit [Read error: Connection reset by peer]
soveran has joined #crystal-lang
soveran has quit [Ping timeout: 248 seconds]
ome has joined #crystal-lang
soveran has joined #crystal-lang
soveran has quit [Changing host]
soveran has joined #crystal-lang
Philpax has quit [Ping timeout: 268 seconds]
bjz has joined #crystal-lang
poikon has quit [Ping timeout: 250 seconds]
poikon has joined #crystal-lang
mgarciaisaia has quit [Quit: Leaving.]
pawnbox has quit [Remote host closed the connection]
bjz_ has joined #crystal-lang
bjz has quit [Ping timeout: 248 seconds]
pawnbox has joined #crystal-lang
<crystal-gh>
[crystal] MakeNowJust opened pull request #3573: Avoid TODO in option_parser.cr (master...fix/optparse-todo) https://git.io/v1fcC
<crystal-gh>
[crystal] MakeNowJust opened pull request #3574: Fix indentation of Makefile (master...fix/makefile-indent) https://git.io/v1fcw
akwiatkowski has joined #crystal-lang
mark_66 has joined #crystal-lang
coderobe has quit [Ping timeout: 250 seconds]
<FromGitter>
<crisward> Been trying to create mocks for a test, but the type system seems to get in the way. Is it possible to patch a class method, then restore it after my test?
ome has quit [Quit: Connection closed for inactivity]
gloscombe has joined #crystal-lang
optikfluffel has joined #crystal-lang
<BlaXpirit>
crisward, not possible
<FromGitter>
<yxhuvud> Hmm, I'm parsing the contents of a ZLib::Inflator. Is there any way to see if the end of the stream has been reached?
<FromGitter>
<crisward> @BlaXpirit I have one class, which instantiates another, then calls a method on it. I want the second classes method to be mocked and to intercept the calling arguments. I can pass an instance of class1 to class2 if it helps, but if I use a mocking library the mock is of the wrong type. Any suggestions?
<FromGitter>
<yxhuvud> I mean, I can catch IO::EOFError, but using exceptions for handling regular operations seems wrong.
optikfluffel has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<crystal-gh>
[crystal] asterite pushed 1 new commit to master: https://git.io/v1fMp
<crystal-gh>
crystal/master d13e650 Ary Borenszweig: Spec: allow running single spec by specifying any line inside an `it` call, using __END_LINE__. Related to #3552
byte512 has joined #crystal-lang
gloscombe has quit [Ping timeout: 260 seconds]
gloscombe has joined #crystal-lang
Philpax has quit [Ping timeout: 260 seconds]
byte512 has quit [Ping timeout: 268 seconds]
optikfluffel has joined #crystal-lang
emancu has joined #crystal-lang
gloscombe has quit [Remote host closed the connection]
byte512 has joined #crystal-lang
gloscombe has joined #crystal-lang
Philpax has joined #crystal-lang
Philpax has quit [Ping timeout: 260 seconds]
<travis-ci>
crystal-lang/crystal#d13e650 (master - Spec: allow running single spec by specifying any line inside an `it` call, using __END_LINE__. Related to #3552): The build passed. https://travis-ci.org/crystal-lang/crystal/builds/178573538
<FromGitter>
<iVAN2002> Hi there! I have very important question. Crystal is mangling function names?
<BlaXpirit>
iVAN2002, I don't see why that is important. probably yes. now what's the actual question?
<Papierkorb>
Without crystal wouldn't be able to offer overloading, the mechanism is similar to what C++ does, altough the mangled function names are easier to read
<FromGitter>
<iVAN2002> I just want to start developing OS on Crystal (crazy idea, you know) and asm file cant find function cr_main.
<Papierkorb>
Out of experience, I can say: Crystal is *not* useful to build an OS, although it's possible
<FromGitter>
<iVAN2002> Sorry, linker can't find function cr_main.
<BlaXpirit>
the function is called `main`
<Papierkorb>
iVAN2002, you'll want to strip almost anything for the start anyway
<Papierkorb>
"--prelude empty.cr" is your friend
<Papierkorb>
get it to run, and then add classes one by one. Forget about `String` though, copy the class over and remove all mentions of `IO` and `Char::Reader`
<FromGitter>
<iVAN2002> @FromIRC Hmm, i'll check it out.
<Papierkorb>
Garbage collection isn't available either of course, except if you get the boehmgc compiled for that, in this case I'd be interested how you did it
<FromGitter>
<iVAN2002> module Crystalx ⏎ VERSION = "0.1.0" ⏎ end
<FromGitter>
<iVAN2002> oh ok
<RX14>
@iVAN2002 have you ever built an OS before?
<FromGitter>
<iVAN2002> yes
<RX14>
cool
<RX14>
to answer the actual question, you can generate unmangled functions
<RX14>
you do it like `fun main = main(argc : Int32, argv : UInt8**)`