ChanServ changed the topic of #crystal-lang to: The Crystal programming language | https://crystal-lang.org | Fund Crystal's development: https://crystal-lang.org/sponsors | GH: https://github.com/crystal-lang/crystal | Docs: https://crystal-lang.org/docs | Gitter: https://gitter.im/crystal-lang/crystal
ur5us has quit [Ping timeout: 252 seconds]
avane has quit [Ping timeout: 252 seconds]
avane has joined #crystal-lang
ur5us has joined #crystal-lang
watzon has quit [Ping timeout: 252 seconds]
watzon has joined #crystal-lang
watzon has quit [Ping timeout: 245 seconds]
postmodern has joined #crystal-lang
<postmodern> how do you mark a method as not-implemented in Crystal?
<FromGitter> <Blacksmoke16> depends on if you want it to not compile or raise at runtime
postmodern has quit [Remote host closed the connection]
wolfshappen has quit [*.net *.split]
wolfshappen has joined #crystal-lang
frojnd has quit [*.net *.split]
frojnd has joined #crystal-lang
postmodern has joined #crystal-lang
postmodern has quit [Remote host closed the connection]
sevvie has quit [*.net *.split]
xybre has quit [*.net *.split]
void09 has quit [*.net *.split]
sevvie has joined #crystal-lang
void09 has joined #crystal-lang
xybre has joined #crystal-lang
ur5us has quit [Ping timeout: 256 seconds]
hightower2 has quit [Remote host closed the connection]
hightower3 has joined #crystal-lang
notzmv has quit [Ping timeout: 252 seconds]
ur5us has joined #crystal-lang
<FromGitter> <jrei:matrix.org> `{{ raise "not implemented" }}` or `raise "not implemented"` inside the method block
hightower4 has joined #crystal-lang
hightower3 has quit [Ping timeout: 252 seconds]
<hightower4> Hey let's say I want to include some modules in a class, and as the end result I want myclass.some_method() to execute one common function whose parts have come from all included modules. Something like this: https://play.crystal-lang.org/#/r/bvx0
<hightower4> What's the best way to design/implement this? With super, previous_def, macros, ...?
<hightower4> (The ideal implementation would be something that allows me to create an instance whose values of new/initialize arguments would come from these "partial" functions, so that I don't have to define everything with 'property!' and have non-null checks in runtime)
<jhass[m]> Composition trumps inheritance. https://play.crystal-lang.org/#/r/bvx2
mookie has quit [Ping timeout: 252 seconds]
mookie has joined #crystal-lang
ur5us has quit [Ping timeout: 252 seconds]
<hightower4> hmm, I'll think about that, thanks
ur5us has joined #crystal-lang
notzmv has joined #crystal-lang
<void09> I want to know how big is the crystal developer market.. Would it be silly to start something like a complete ecommerce solution in crystal ?
<void09> And are the average prices higher than with other more used languages, js/php/ruby
ur5us has quit [Quit: Leaving]
<FromGitter> <Blacksmoke16> There's also a dedicated `NotImplementedError`
<FromGitter> <Blacksmoke16> forums would prob be your best bet
<FromGitter> <pyrsmk> I would assume that the average salary is nearly the same than for Ruby since it's quite a niche language ATM and the easier is to hire Ruby developers which are a bit expensive IMO, at least in France
<FromGitter> <RespiteSage> @void09 I don't think it's sillier to write an ecommerce solution in Crystal rather than in any other language. In Crystal, you'll get type safety, developer friendliness, and performance, but you'll lose the size of the community (including packages and tools) and number of potential devs.
<FromGitter> <RespiteSage> I'm sure there are more tradeoffs than that, but those are the main ones for me.
<FromGitter> <RespiteSage> Also, I agree that you'll be able to hire a Crystal dev at a similar salary to other, more popular languages. And the tradeoff where there are fewer Crystal devs is probably offset by the fact that I think that a much larger proportion of the community would want a job writing Crystal (and don't currently have one).
<FromGitter> <RespiteSage> Has anyone run into issues with `raise`?
<FromGitter> <RespiteSage> I'm getting a very weird arithmetic overflow error, seemingly from call stack unwinding.
<straight-shoota> are you doing anything out of the ordinary?
<FromGitter> <RespiteSage> Not that I can tell. I'm currently trying to minimize it.
<FromGitter> <RespiteSage> That is, minimize the offending code.
<FromGitter> <RespiteSage> It's happening in an `expect_raises`, but I haven't determined whether that's the culprit.
<FromGitter> <RespiteSage> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=613790618065e87a8ece1186]
<FromGitter> <RespiteSage> It works on carc.in (https://carc.in/#/r/bvyq), but I'm getting an arithmetic overflow on my machine.
<FromGitter> <RespiteSage> Here's what I'm getting: https://gist.github.com/RespiteSage/dfaca81b929ed89d94694b0898ef6172
<FromGitter> <Blacksmoke16> try with `--no-debug`
<FromGitter> <RespiteSage> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=6137915c7cd57813a8b13f96]
<FromGitter> <RespiteSage> Same result with `--no-debug`.
<FromGitter> <RespiteSage> Huh. Apparently it works when the exception message matches?
<FromGitter> <RespiteSage> I updated my gist.
<FromGitter> <RespiteSage> Further minimized:
<FromGitter> <RespiteSage> ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=613795e499b7d97528f8dabf]
<FromGitter> <RespiteSage> I've updated my gist again.
<FromGitter> <Blacksmoke16> works for me on mac
<FromGitter> <Blacksmoke16> `rm -rf ~/.cache/crystal` help at all? :shrug:
<FromGitter> <RespiteSage> And the following works: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/crystal-lang/crystal?at=6137962763dca8189148c69b]
<FromGitter> <RespiteSage> Yeah, it works on carc.in, too.
<FromGitter> <RespiteSage> Worth a try.
<FromGitter> <RespiteSage> Nope, still happening.
<FromGitter> <Blacksmoke16> :sad:
<FromGitter> <RespiteSage> Yeah. I'm at the right commit hash, right?
<FromGitter> <RespiteSage> And a supported LLVM version?
<FromGitter> <RespiteSage> Okay, so apparently the most minimized version I can make is `raise "Oops!"`...
<FromGitter> <Blacksmoke16> lol
<FromGitter> <RespiteSage> So it's just something about creating call stacks on my machine/OS/whatever?
<FromGitter> <RespiteSage> I have no clue.
<void09> RespiteSage thanks for the developer insights.. that makes sense. Although I have no idea what range to estimate I could find a good crystal dev. I never hired coders before.
<FromGitter> <Blacksmoke16> :shrug:
<FromGitter> <jrei:matrix.org> yep, exits my program when I used it /troll
<FromGitter> <jrei:matrix.org> There is also Libunwind under the hood
<FromGitter> <jrei:matrix.org> What OS do you use specifically?
olbat-m is now known as olbat[m]
<FromGitter> <RespiteSage> OpenSUSE Tumbleweed.
<FromGitter> <Blacksmoke16> ah, thats prob a clue
<FromGitter> <Blacksmoke16> id try against master if you can for the lols?
<FromGitter> <RespiteSage> Yeah, I'll see if I can.
olbat has quit [Quit: Bye ...]
adam12 has quit [Ping timeout: 240 seconds]
adam12 has joined #crystal-lang
olbat has joined #crystal-lang
olbat has quit [Changing host]
olbat has joined #crystal-lang
olbat has quit [Client Quit]
olbat has joined #crystal-lang
olbat has quit [Changing host]
olbat has joined #crystal-lang
olbat has quit [Client Quit]
olbat has joined #crystal-lang
olbat has quit [Changing host]
olbat has joined #crystal-lang
kiwiroy has joined #crystal-lang
<FromGitter> <jrei:matrix.org> This is a rolling release, so perhaps one library it too recent for Crystal
<FromGitter> <jrei:matrix.org> you could try with to reproduce inside a container. ⏎ For example, use stable OpenSUSE.
<FromGitter> <jrei:matrix.org> then, try updating libunwind only, or an other Crystal dependency, using the Tumbleweed repo.
<FromGitter> <jrei:matrix.org> like a regular update from stable to Tumbleweed, just not everything at the same time
sevvie has quit [Ping timeout: 252 seconds]
sevvie has joined #crystal-lang