<FromGitter>
<bararchy> Also fibers , fork , etc..
sp4rrow has quit [Quit: The Internet needs a break and I need a cookie]
sp4rrow has joined #crystal-lang
sp4rrow has quit [Client Quit]
snsei has joined #crystal-lang
snsei has quit [Ping timeout: 246 seconds]
<FromGitter>
<codenoid> thanks @bararchy , work with Fibers ✨
<crystal-gh>
[crystal] MakeNowJust opened pull request #4951: Disallow to assign instance variabls inside nested expressions (master...fix/crystal/toplevel-nested-ivar-assign) https://git.io/v5PPP
Rinkana has quit [Ping timeout: 260 seconds]
snsei has joined #crystal-lang
snsei has quit [Ping timeout: 246 seconds]
<FromGitter>
<renich> Hey guys! o/
<FromGitter>
<renich> Just wanted to report that crystal no longer compiles on Gentoo since it migrated to LLVM 5
<FromGitter>
<renich> I can share output, but I think it's pointless
<FromGitter>
<renich> It is slotted and you could go for v4, which works fine with crystal, but the point is, I am sure, other distros will follow and they may not offer v4 anymore.
* FromGitter
* renich is back to binary version...
Papierkorb_ has joined #crystal-lang
alex`` has joined #crystal-lang
<FromGitter>
<krypton97> Morning all
<FromGitter>
<bararchy> Sup :0
<Papierkorb_>
Yo
flaviodesousa has joined #crystal-lang
claudiuinberlin has joined #crystal-lang
mark_66 has joined #crystal-lang
mark_66 has quit [Read error: Connection reset by peer]
mark_66 has joined #crystal-lang
mark_66 has quit [Read error: Connection reset by peer]
mark_66 has joined #crystal-lang
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<andrewzah>
renich what's the output?
claudiuinberlin has joined #crystal-lang
mark_66 has quit [Read error: Connection reset by peer]
mark_66 has joined #crystal-lang
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<FromGitter>
<sdogruyol> Morning everyone
baweaver has quit [Ping timeout: 255 seconds]
justinmcp has quit [Quit: No Ping reply in 180 seconds.]
baweaver has joined #crystal-lang
justinmcp has joined #crystal-lang
baweaver is now known as Guest52630
<FromGitter>
<straight-shoota> Good morning
<FromGitter>
<krypton97> Sup
<Groogy_>
Morning!
Groogy has quit [Disconnected by services]
Groogy_ is now known as Groogy
rohitpaulk has joined #crystal-lang
Groogy2 has joined #crystal-lang
codenoid has joined #crystal-lang
claudiuinberlin has joined #crystal-lang
claudiuinberlin has quit [Client Quit]
claudiuinberlin has joined #crystal-lang
snsei has joined #crystal-lang
snsei has quit [Remote host closed the connection]
snsei has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 240 seconds]
rohitpaulk has joined #crystal-lang
rohitpaulk has quit [Ping timeout: 248 seconds]
<FromGitter>
<bararchy> Morning :)
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<FromGitter>
<Qwerp-Derp> Is it possible to call Swift code from Crystal?
claudiuinberlin has joined #crystal-lang
<FromGitter>
<krypton97> interesting since swift is also llvm based
<FromGitter>
<Qwerp-Derp> It's possible to call Crystal code from Swift, but I'm not really sure about if it's possible the other way round
bmcginty has quit [Ping timeout: 252 seconds]
bmcginty has joined #crystal-lang
<FromGitter>
<Qwerp-Derp> I'm also thinking of making a clone of Clojure in Crystal
<Papierkorb_>
Nothing much to do with LLVM (Sadly, that doesn't help in any way :|), but in theory you can call anything from anything. Manually writing such bindings can be awkward though.
<Papierkorb_>
But as Swift -> Crystal already exists (?), the other way around will be possible too. The grunt work of figuring out how to bind at all is "done"
ShalokShalom_ has joined #crystal-lang
ShalokShalom has quit [Ping timeout: 248 seconds]
codenoid has quit [Quit: This computer has gone to sleep]
codenoid has joined #crystal-lang
codenoid has quit [Client Quit]
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Papierkorb__ has joined #crystal-lang
Papierkorb_ has quit [Ping timeout: 240 seconds]
Philpax__ has joined #crystal-lang
Philpax__ has quit [Ping timeout: 240 seconds]
Rinkana has joined #crystal-lang
<FromGitter>
<matrixbot> `@Renich:matrix.org` @andrewza: it seems it's a duplicate bug.
claudiuinberlin has joined #crystal-lang
<crystal-gh>
[crystal] asterite pushed 1 new commit to master: https://git.io/v5Xti
<crystal-gh>
crystal/master acc40a0 TSUYUSATO Kitsune: Replace 'name_table.fetch(i) { i }' with 'name_table.fetch(i, i)'
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<FromGitter>
<fridgerator> you can send the base64 encoded strings, but in my experience sending large messages like that over websockets is a bad idea
<FromGitter>
<fridgerator> its usually better to just send an image link instead
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<FromGitter>
<krypton97> right
sp4rrow has joined #crystal-lang
Papierkorb__ has quit [Ping timeout: 240 seconds]
<Rinkana>
I have a singleton class but instead of the object itself i want to return the pointer. However i keep getting different pointers or a pointer to a union type while it should be just the class itself: https://play.crystal-lang.org/#/r/2pgs
<Rinkana>
Any ideas to return the pointer by default?
claudiuinberlin has joined #crystal-lang
claudiuinberlin has quit [Client Quit]
claudiuinberlin has joined #crystal-lang
codenoid has joined #crystal-lang
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<FromGitter>
<asterite> Don't use pointerof! It's unsafe. You can't return `pointerof`, it will crash your program
<FromGitter>
<bararchy> .to_unsafe ? XD
Papierkorb__ has joined #crystal-lang
claudiuinberlin has joined #crystal-lang
flaviodesousa has quit [Remote host closed the connection]
<FromGitter>
<codenoid> @matrixbot are you @FromIRC friend ?
<RX14>
any index which has crystal higher than rust is clearly flawed
sz0 has joined #crystal-lang
<FromGitter>
<drujensen> @faustinoaq thanks for the reddit post. I guess this is old news. I found it funny to see crystal way ahead of rust. I just saw a post from a Java community debating is python was really moving up and they used this index as their proof.
<FromGitter>
<asterite> And Elixir is after the first 50. Makes no sense at all. Elixir is years ahead of Crystal and Rust.
<FromGitter>
<drujensen> aaaahh, i know why
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<FromGitter>
<drujensen> they are measuring based on queries to google using <lang> + programming
<FromGitter>
<drujensen> since crystal is not unique enough, we tend to always include programming in our query strings
<FromGitter>
<drujensen> elixer and rust are unique enough that it doesn’t require programming
Papierkorb__ has quit [Quit: Konversation terminated!]
<FromGitter>
<drujensen> so, all we need to do is keep searching google with `crystal programming` to bump up our rating. lol.
<RX14>
rust is probably much more generic than crystal as a word
<FromGitter>
<drujensen> hhmm, true
<RX14>
the thing is that crystal programming already exists as a weird occult term
<RX14>
google it yourself
<FromGitter>
<sdogruyol> yeah
<FromGitter>
<sdogruyol> crystal reports
<FromGitter>
<faustinoaq> So Crystal is cheating here, but does good marketing . ⏎ ⏎ However, I think Crystal community can reach a good popularity in the next years as result of all our effort 😉
claudiuinberlin has joined #crystal-lang
<FromGitter>
<sdogruyol> agreed 👍
<FromGitter>
<sdogruyol> It's not just the community, Crystal too :P
<FromGitter>
<faustinoaq> Yeah 💪
<FromGitter>
<sdogruyol> quite off-topic but does anyone got segfaults when trying to use Ruby 2.4.x on Arch x64
<FromGitter>
<faustinoaq> And Elixir is after the first 50. Makes no sense at all. Elixir is years ahead of Crystal and Rust. ⏎ ⏎ @asterite Did you use Elixir in some project? What do you think Crystal can learn from Elixir?
<FromGitter>
<faustinoaq> > quite off-topic but does anyone got segfaults when trying to use Ruby 2.4.x on Arch x64 ⏎ ⏎ No, at least on Manjaro
Rinkana has quit [Ping timeout: 260 seconds]
<FromGitter>
<sdogruyol> Ruby 2.4.0 is prone to many segfaults
<FromGitter>
<krypton97> any news with the techempower issue?
<FromGitter>
<krypton97> I mean the benchmarking results on their machine
<FromGitter>
<drujensen> @krypton97 I haven’t been able to reproduce the issue. @elorest and I have tried several times but we are not getting the 10x slower results. We haven’t been able to test on a similar 80 core system though.
<FromGitter>
<drujensen> they require Ubuntu 14.04 and 3 boxes. one client, one server and one db. We were skipping the db since we are only concerned with the `plaintext` and `json` tests
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<FromGitter>
<krypton97> oh ok
<FromGitter>
<drujensen> if someone has an 80 core system just waiting to be used for a benchmark, let me know! ;-)
<FromGitter>
<drujensen> or a budget that allows us to spin one up.
<Groogy>
meh can pull down our servers for a few hours for you ;D
<Groogy>
j/k
<FromGitter>
<sdogruyol> haha nice one
<FromGitter>
<drujensen> 😄
sp4rrow has quit [Read error: Connection reset by peer]
<Groogy>
oh back in the days when our metaserver (server you connected for mp matchmaking before steam) was literally a random old crappy computer standing in a nook
<RX14>
i ran a public jenkins on an entirely unknown random ARM devkit from a small company in germany once
<RX14>
it didn't run well
<FromGitter>
<sdogruyol> you don't mean scaleway right?
<RX14>
no...
<RX14>
they're french first of all
<RX14>
second that's ARM hosting
<FromGitter>
<sdogruyol> oh ok
<RX14>
and they're really well known
<RX14>
this was a physical arm devkit in my room
<RX14>
it even had a small TFT display on it
<FromGitter>
<asterite> faustinoaq: yes, I used (and use) Elixir at work and it's fantastic. Lessons to learn: keep it simple, and better compile to a VM so you don't have to deal with all the world of libc, posix, etc. :-P, and also being able to compile and interpret macros really fast
<FromGitter>
<bararchy> @sdogruyol No sigfaults here
mark_66 has quit [Remote host closed the connection]
codenoid has quit [Quit: Leaving]
hightower4 has joined #crystal-lang
hightower3 has quit [Ping timeout: 240 seconds]
snsei has quit [Remote host closed the connection]
Rinkana has joined #crystal-lang
claudiuinberlin has joined #crystal-lang
<Rinkana>
@asterite i know pointerof is unsafe. But i need the single object and i need it fast. It will be called from many places many times. copying the object will slow it down too much
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<bmcginty>
I'm working on an ftp library for crystal. I was going to just kind of rewrite the net/ftp lib from ruby propper, but it looks more Convoluted than eerything else in Crystal. For anyoen that might use it, I assume the .list .cd .get .put .close .login and .open should work as interface methods?
<FromGitter>
<asterite> Rinkana: it's a class, and classes are already passed by reference. Did you benchmark it first to see if it's slow?
<Rinkana>
Not yet, but it's base of C++ code
<Rinkana>
But i'll benchmark it first
claudiuinberlin has joined #crystal-lang
sz0 has quit [Quit: Connection closed for inactivity]
<FromGitter>
<faustinoaq> > Lessons to learn: keep it simple, and better compile to a VM ⏎ ⏎ First, Thanks you for your response 😄 ⏎ Second, Could exist some way to compile crystal to bytecode and use a VM ? or Maybe something like JIT for Crystal ? ⏎ ... [https://gitter.im/crystal-lang/crystal?at=59b6bc49210ac269201b0999]
<FromGitter>
<jose-rodrigues> @faustinoaq Well There is probably a way to output llvmIR to java bytecode
<FromGitter>
<faustinoaq> Third and finally, @asterite Do you give me permission to tweet this 👇 ? ⏎ ⏎ > faustinoaq: yes, I used (and use) Elixir at work and it's fantastic. Lessons to learn: keep it simple, and better compile to a VM so you don't have to deal with all the world of libc, posix, etc. :-P, and also being able to compile and interpret macros really fast ⏎ ⏎ I'm now interested on learn more Functional
<FromGitter>
<faustinoaq> > Well There is probably a way to output llvmIR to java bytecode ⏎ ⏎ @jose-rodrigues Oh, interesting, I also see something about Java Native Bindings for Crystal some time ago 👉 https://github.com/ysbaddaden/java.cr
<FromGitter>
<georgeu2000> Should I file a issue on Github?
<FromGitter>
<georgeu2000> `in /usr/local/Cellar/crystal-lang/0.23.1/src/enumerable.cr:744: no overload matches 'Int32#>' with type (Int32 | Iterator::Stop)`
<FromGitter>
<georgeu2000> Seems to be coming from `flatten`.
<FromGitter>
<georgeu2000> Should I file an issue on Github?
<FromGitter>
<bew> Can you show the full error?
<FromGitter>
<bew> Also, can you explain what you're trying to do?
<FromGitter>
<georgeu2000> The above code emits an array of arrays, and flatten converts it to an array of Int32.
<FromGitter>
<georgeu2000> `#max` does work as expected with other arrays.
<FromGitter>
<georgeu2000> But not after `#flatten`.
<FromGitter>
<georgeu2000> So, I thought it might be an issue with Crystal.
<FromGitter>
<georgeu2000> I just started using it and thought it might be helpful to issue. I would like to know the best way I can help.
<FromGitter>
<georgeu2000> I can create a simplified version to reproduce the issue, if that is helpful.
<FromGitter>
<georgeu2000> I don't know if it might be expected behavior, or some other reason that it is not a bug.
RX14 has left #crystal-lang ["Leaving"]
RX14 has joined #crystal-lang
<FromGitter>
<bew> I don't think it's a bug of Crystal, but more with your code/logic. I didn't get what you're trying to do with the `each_cons` and `product`
<FromGitter>
<bew> are you trying to group lines somehow, and do something with them? what is the goal of this code
<FromGitter>
<georgeu2000> But this raises the error: `end.to_a.flatten.max`
<FromGitter>
<georgeu2000> `in /usr/local/Cellar/crystal-lang/0.23.1/src/enumerable.cr:744: no overload matches 'Int32#>' with type (Int32 | Iterator::Stop)`
<FromGitter>
<bew> and as oprypin showed in his example, you can write `.map &.product(1)` instead of `.map{| c | c.product( 1 )}`
<FromGitter>
<georgeu2000> OK, thanks. I didn't see that.
<FromGitter>
<georgeu2000> I was wondering about how to do it.
<oprypin>
`Array.new( 0, Int32 )` is `[] of Int32.class`
<oprypin>
array of types
<FromGitter>
<georgeu2000> Oh, I see.
<FromGitter>
<georgeu2000> I see we need the block to initalize.
<oprypin>
the block version and the argument version are sometimes interchangeable but the difference is that the block version runs that code every time and argument runs that code once
<FromGitter>
<georgeu2000> Got it. Thanks.
<oprypin>
`Array.new(6, 0)` and `Array.new(6) { 0 }` are interchangeable because Int32 is a wholly copyable value type
<FromGitter>
<georgeu2000> I see.
<FromGitter>
<georgeu2000> Thanks so much for your help.
<FromGitter>
<georgeu2000> BTW, I am thinking about writing a Ruby -> Crystal transpiler. Do you think that would be useful?
<oprypin>
about as useful as a Ruby -> C transpiler
<oprypin>
also about as difficult and about as verbose resulting code
<fnux>
Hi there ! I'm trying crystal but I'm not even able to use the compiler..
<fnux>
Error in test.cr:1: while requiring "prelude": can't find file 'prelude' relative to '/tmp'
<fnux>
for /tmp/test.cr.
<fnux>
I installed crystal with the official repo for redhat/centos. How crystal is supposed to load this 'prelude' thing ?
claudiuinberlin has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<ShalokShalom>
georgeu2000: i also thought about it already
<ShalokShalom>
i think it would be a great benefit for both communitys
<ShalokShalom>
Maybe think about Rails compability
<FromGitter>
<georgeu2000> Yes, I think it would be awesome too.
<FromGitter>
<georgeu2000> I searched and did not find any that had been started.
<FromGitter>
<straight-shoota> @fnux what does `crystal env` give you?
<FromGitter>
<straight-shoota> and does file `#{CRYSTAL_PATH}/prelude.cr` exist?
<oprypin>
georgeu2000, you have to have a lot of experience with the language to do it, but people who have the experience don't see any point in the project
<FromGitter>
<georgeu2000> Well, I'll have to get a lot of experience first.
<fnux>
humm, crystal_path is empty
<fnux>
that's probably the reason
<fnux>
actually, what's this 'official' crystal package putting everything in /opt ?
<FromGitter>
<straight-shoota> @fnux it's not an environment variable but printed when you run `crystal env`
claudiuinberlin has joined #crystal-lang
<fnux>
yep, and it's empty ;)
<fnux>
what's the difference between bin/crystal and bin/embedded/crystal ?
<fnux>
ehu embedded/bin/crystal
<FromGitter>
<straight-shoota> try to set env variable CRYSTAL_PATH to the src directory of your crystal installation, probably something like `/opt/crystal/src`
<fnux>
bin/crystal properly set CRYSTAL_PATH but embedded/bin/crystal doesn't
<FromGitter>
<straight-shoota> yes. `bin/crystal` just a wrapper around `embedded/bin/crystal` which sets these paths
<FromGitter>
<straight-shoota> it's actually just a shell script, you can just take a look at it
Guest58799 is now known as baweaver
baweaver has quit [Changing host]
baweaver has joined #crystal-lang
<crystal-gh>
[crystal] asterite pushed 1 new commit to master: https://git.io/v51mY
<FromGitter>
<jwaldrip> So why dont all objects have an object id?
manveru_ is now known as manveru
<FromGitter>
<jwaldrip> Doesnt make sense why that method wouldnt be on Object, and only on reference
<oprypin>
sure it does make sense
<oprypin>
would you be OK with an object's id changing any time you pass it to a function or assign to it or anything?
<oprypin>
or do ou suggest to store that object it together with every value (so UInt8 would take 8+64 bits)
<oprypin>
...object *id* together...
<oprypin>
it's just not technologically viable or useful to have the object id for value types
<FromGitter>
<jwaldrip> I would expect values object_id to change always
<FromGitter>
<jwaldrip> because it is an object
<FromGitter>
<jwaldrip> and by its definition, its copied when its passed
<FromGitter>
<jwaldrip> but because it IS and object, I expect it to have an ID
<FromGitter>
<jwaldrip> regardless if it changes everytime
<RX14>
but the ID means nothing
<RX14>
so why not just not have it
<FromGitter>
<jwaldrip> because things that check object id, or use it in expectations fail
<RX14>
it means you need to think about value types
<RX14>
well its doing it's job then:
<RX14>
it's making you think about value types
<FromGitter>
<jwaldrip> so then expectations have to be refactored
<RX14>
which?
<RX14>
are you talking about the be expectation
<RX14>
oh yes, you are
<FromGitter>
<jwaldrip> Yes
<RX14>
it's correct that be doesn't work for value types
<RX14>
use eq like you should do
<RX14>
a value type cannot "be" the same as another value type
buggs has joined #crystal-lang
<RX14>
because as soon as you pass it into the function to compare if they're the exactly same instance
<RX14>
they get copied
<RX14>
and are not the same instance any more
<RX14>
the concept of "the same instance from the same .new" simply does not exist for value types
<RX14>
therefore it errors at compile time
<RX14>
and therefore the behaviour is correct
<RX14>
use eq
<FromGitter>
<jwaldrip> sure, sucky experience when I union a value with a reference
<RX14>
use eq
<FromGitter>
<jwaldrip> k
<RX14>
be expectation should be used very very rarely
<RX14>
if at all
<RX14>
it's probably more confusing than useful at this point
<RX14>
but we'll probably keep it anyway
<FromGitter>
<jwaldrip> IF I run be on a value... it should not fail compile, just fail the exception
<RX14>
i disagree
<FromGitter>
<jwaldrip> ive added #same? to Object
<RX14>
dont monkeypatch
<FromGitter>
<jwaldrip> where it returns false
<FromGitter>
<jwaldrip> im not "monkey" patching.
<FromGitter>
<jwaldrip> im changing the core type
<RX14>
that's monkey patching to me
<FromGitter>
<jwaldrip> "monkey" patching is after the fact
<FromGitter>
<jwaldrip> and Value#==?
<FromGitter>
<jwaldrip> what would you call that?
<RX14>
you're changing the stdlib outside the stdlib, is that not what crystal people and ruby people generally refer to as monkey patching?
<FromGitter>
<bew> @jwaldrip I'd say "content equality"
<FromGitter>
<jwaldrip> I am defining Object#same? within "src/object"
<FromGitter>
<jwaldrip> which is not outside the stdlib
<FromGitter>
<jwaldrip> This is in crystal... not in my own project
<oprypin>
ok so you're making your own programming language with one project?
<FromGitter>
<jwaldrip> ... let me clarify... I am submitting a PR to crystal, adding `Object#same?`
<FromGitter>
<jwaldrip> to make it work with expectations and behave like `Reference#same?`
<oprypin>
after considering RX14's arguments i'm not so sure what's better
<FromGitter>
<jwaldrip> to make `Value#same?`work with expectations and behave like `Reference#same?`
<RX14>
my argument is that the very notion of "the same object" doesn't exist for value types and therefore the method shouldn't exist
<RX14>
not aure what the rest of the core team thinks though
<FromGitter>
<jwaldrip> So then the same argument would advocate for `#==
<FromGitter>
<jwaldrip> to not exist
<FromGitter>
<bew> Not part of the core team, but I agree with RX14 :)
<oprypin>
jwaldrip, you don't understand `==`
<RX14>
@jwaldrip uhh why?
<RX14>
== is defined by the user
<RX14>
to mean semantic equality
<FromGitter>
<jwaldrip> I do understand `==`. If I didn't I wouldnt be a developer.
<FromGitter>
<jwaldrip> And I get that as well.
<RX14>
just how 1_u64 == 1_f64
<RX14>
they're not even the same type
<RX14>
let alone the same instance
<RX14>
yet they are equal
<FromGitter>
<jwaldrip> I understand that
<RX14>
they're fundamentally different concepts and should be treted differently
<FromGitter>
<jwaldrip> If I think about the ruby argument of "reads like english" then the following should return false, and not a compile error. "1.same? 1"
<oprypin>
sure, it makes sense
<RX14>
i've never used same?
<FromGitter>
<jwaldrip> as with the expecation "1.should be 1" should throw a spec expection, NOT a compile error.
<RX14>
has ayone else?
<FromGitter>
<jwaldrip> exception*
<FromGitter>
<jwaldrip> it IS used, my argument that even though you dont like be it is used. And this leads to less expeience developers scratching their head when using be with Value types.
<FromGitter>
<jwaldrip> I obviously had to dig into crystal to understand why
<oprypin>
RX14, heh I used it in a project to replace .should be and company
<RX14>
lol
<RX14>
apart from stdlib refactorings
<FromGitter>
<jwaldrip> Point being... I would want a better message in the expectation, and expect .same? to work
<RX14>
@jwaldrip i'd argue that maybe be should be modified
<oprypin>
jwaldrip, do you think developers will be less confused when you do `a = 5; a.same?(a) - false`
<RX14>
to return false if its a value type
<oprypin>
jwaldrip, but in a much more concealed way than that
<FromGitter>
<jwaldrip> so I could see that... refactor `be` rather than add `same?`
<FromGitter>
<jwaldrip> @oprypin as long as `same?` is documented
<FromGitter>
<jwaldrip> same should mean is the same in memory, same as in if I change it here, it is changed everywhere
<oprypin>
i like that
<FromGitter>
<jwaldrip> which part?
<oprypin>
> same should mean is the same in memory, same as in if I change it here, it is changed everywhere
<FromGitter>
<jwaldrip> So I think `#same?` could still be added to `Object` as an abstract method and then added to `Value`
<FromGitter>
<jwaldrip> similar to `==`
<FromGitter>
<jwaldrip> I know how `==` works
<FromGitter>
<jwaldrip> I am just talking about the method of implementation
rohitpaulk has quit [Ping timeout: 240 seconds]
bmcginty has quit [Ping timeout: 240 seconds]
bmcginty has joined #crystal-lang
bmcginty has quit [Ping timeout: 240 seconds]
alex`` has quit [Ping timeout: 240 seconds]
<FromGitter>
<opensas> > **<oprypin>** mm finally formulated my version of semantic rule - use do...end if the block has side effects, use { } if the block's result is used ⏎ yeap, having no ruby background, I feel more comfortable with this version of semantic rule, when I just to calculate some value (sort of functional style) I use {}, when I modify any external variable (sort of procedural style) I use do...end, makes more
<FromGitter>
... sense to me....
<crystal-gh>
[crystal] RX14 opened pull request #4955: Remove markdown, use markd shard in compiler (master...refactor-markdown) https://git.io/v510l
danielpclark has joined #crystal-lang
<oprypin>
RX14, your commits on github seem to have a timestamp in the future. gotta check that :o
<FromGitter>
<matrixbot> `@Renich:matrix.org` hey guys, I need an opinion. I just applied this huge patch; taken from the git repo, and applied it in gentoo. It builds but, should I use it like this? https://clbin.com/rrbd2?hl
<FromGitter>
<matrixbot> `@Renich:matrix.org` The patch is huge