solnic changed the topic of #rom-rb to: Ruby Object Mapper | Mailing List: https://groups.google.com/forum/?fromgroups#!forum/rom-rb | Logs: http://irclog.whitequark.org/rom-rb
postmodern has joined #rom-rb
cored has quit [Ping timeout: 264 seconds]
mbj_ has joined #rom-rb
mbj has quit [Ping timeout: 260 seconds]
misfo has joined #rom-rb
misfo has quit [Quit: misfo]
misfo has joined #rom-rb
misfo has quit [Quit: misfo]
postmodern has quit [Quit: Leaving]
postmodern has joined #rom-rb
zekefast has joined #rom-rb
misfo has joined #rom-rb
basex has joined #rom-rb
misfo has quit [Quit: misfo]
cored has joined #rom-rb
cored has quit [Changing host]
cored has joined #rom-rb
solnic has left #rom-rb [#rom-rb]
mbj_ is now known as mbj
cored has quit [Ping timeout: 264 seconds]
basex has quit [Quit: basex]
basex has joined #rom-rb
misfo has joined #rom-rb
solnic has joined #rom-rb
<solnic> mbj: hey, can you release new version of descendants_tracker? I prepared everything, just pull, build the gem and push it
misfo has quit [Quit: misfo]
misfo has joined #rom-rb
misfo has quit [Quit: misfo]
misfo has joined #rom-rb
skade has joined #rom-rb
misfo has quit [Quit: misfo]
<mbj> solnic: done
<mbj> solnic: I merged PR #5 with licence metadata and just released 0.0.3 with no additional changes.
basex has quit [Ping timeout: 256 seconds]
mbj has quit [Ping timeout: 246 seconds]
_whitelogger has joined #rom-rb
<dbussink> solnic: around?
<mbj> dbussink: hi
<dbussink> mbj: g'day
<mbj> dbussink: You have a rom question? Or a virtus one?
<mbj> dbussink: Better: Can I help you?
<dbussink> mbj: oh, no, was going to ask solnic some details about https://github.com/rubinius/rubinius/issues/2644
<mbj> dbussink: I also ran into this once. But I dont have a more narrow reproduction, surry.
<mbj> dbussink: BTW congratz on rbx 2.0 ;)
<dbussink> mbj: thnx
<dbussink> mbj: the thing is, i'm pretty puzzled still why it even works in mri :)
<mbj> dbussink: heh
<mbj> dbussink: I had no problem to track down behavior in rbx, and jruby.
<mbj> dbussink: But I cannot easily follow MRI code.
<dbussink> well, it's more a general thing as in why does this ruby code work
<dbussink> not about mri internals
<mbj> ;)
<mbj> dbussink: Ahh, you are talking about the issue above.
<mbj> dbussink: Not about 2.0 compat
<mbj> dbussink: Dkubb and solnic worked on axiom-types, I for myself did not had the time to participate.
dkubb has joined #rom-rb
<mbj> dbussink: Dunno any internals.
<mbj> dkubb: hi
<dkubb> good morning
<dkubb> dbussink: congrats on rubinius 2.0 being released
<mbj> dkubb: Question, did you ever understood what ducktrap is?
<mbj> dkubb: In case the answer is "No", I plan to test the upcoming readme on your brain ;)
<dkubb> mbj: I only have a vague understanding
<mbj> dkubb: perfekt.
<mbj> dkubb: I'm writing the short and long version of the reasons behind this lib. My wife proof reads it during the next week.
<mbj> dkubb: So I could need some reviews ;)
<dkubb> sure
<mbj> But now, back to clients work ;)
travis-ci has joined #rom-rb
<travis-ci> [travis-ci] dkubb/abstract_type#59 (master - 59d1640 : Dan Kubb): The build was broken.
<travis-ci> [travis-ci] Build details : http://travis-ci.org/dkubb/abstract_type/builds/12171235
travis-ci has left #rom-rb [#rom-rb]
misfo has joined #rom-rb
misfo has quit [Quit: misfo]
<dkubb> mbj: wdyt about making it so rubocop warnings fail the build?
<mbj> dkubb: +1
<mbj> dkubb:
<mbj> mom, my coffe had fallen on the desk
<dbussink> mbj: ah, found it
<dbussink> we use #coerce as a method in rubinius internally
travis-ci has joined #rom-rb
<travis-ci> [travis-ci] dkubb/abstract_type#61 (master - 6b1cc80 : Dan Kubb): The build was broken.
travis-ci has left #rom-rb [#rom-rb]
<travis-ci> [travis-ci] Build details : http://travis-ci.org/dkubb/abstract_type/builds/12171890
<dbussink> so here axiom-types overwrites that coerce method
<dbussink> and it spirals into that infinite loop
postmodern has quit [Quit: Leaving]
<mbj> dbussink: interesting
<dkubb> ahh ok
<mbj> dbussink: how to solve it? From my initial feelings I think rbx should move.
<mbj> dbussink: rename to something like __rbx_coerce ?
<dkubb> mbj: I think #coerce is actually a ruby convention/interface
<dbussink> mbj: well, there are default coerce methods
<dkubb> it returns an Array of two objects
<dbussink> so we can't do that
<mbj> okay
<dbussink> since then that wouldn't work
<mbj> got it.
<dbussink> basically here axiom-types overwrites it and breaks it
<dbussink> it mri you can away with it
<dbussink> it probably calls the original c method under the hood
<dbussink> the coerce method also uses a case statement
<dbussink> that ends up using === and this ==
<dbussink> and <=> for comparable
<dbussink> dkubb: yeah
<dkubb> dbussink: so it's because of this line specifically: https://github.com/dkubb/axiom-types/blob/master/lib/axiom/types/support/infinity.rb#L38 ?
<dbussink> dkubb: yeah
<dkubb> I could change that to an if/else/elsif statement and use kind_of? instead
<dbussink> dkubb: yeah, you probably have to
<dkubb> I think I just used a case statement because it resulted in nice compact code
<dbussink> dkubb: since those are more primitive in a sense
<dbussink> dkubb: you got lucky ;)
<dbussink> all coerce code in rbx itself uses instance_of? / kind_of
<dkubb> I suppose I could also change it to ->(object) { object.kind_of?(self) }
<dbussink> exactly because of reasons like this
<mbj> Gonna start coding for client again. And to focus I have to quit IRC.
<mbj> cu
mbj has quit [Quit: leaving]
<dbussink> since coercion protocols for <=> etc. depend on this lower level behavior
<dkubb> dbussink: OT, but I'm curious what you think about https://github.com/whitequark/parser ? has there been any discussion about using it rbx?
<dkubb> *in rbx
<dbussink> dkubb: well, question is whether it's worth the effort
<dbussink> we wouldn't hold anyone back on it
<dbussink> but probably won't do it outselves
misfo has joined #rom-rb
misfo has quit [Client Quit]
misfo has joined #rom-rb
<dkubb> dbussink: I don't know what the rbx parser looks like atm, but it's been really nice for some of the tools we use to have something stand-alone like this
<dkubb> dbussink: I just wondered if anyone has brought it up with you before
<dbussink> dkubb: yeah, it's come up
<dbussink> dkubb: basically our view has been do it and show us ;)
<dbussink> but i gotta run
<dbussink> back later
misfo has quit [Quit: misfo]
<dkubb> k, ttyl
zekefast has quit [Quit: Leaving.]
misfo has joined #rom-rb
mbj has joined #rom-rb
zekefast has joined #rom-rb
dkubb has quit [Quit: Linkinus - http://linkinus.com]
dkubb has joined #rom-rb
mbj has quit [Ping timeout: 245 seconds]
zekefast has quit [Quit: Leaving.]
zekefast has joined #rom-rb
skade has joined #rom-rb
snusnu has quit [Ping timeout: 264 seconds]
<dbussink> dkubb: wouldn't this be an example of using methods in a method that are of the same level of abstraction :)
<dbussink> dkubb: although that can be pretty ill defined ;)
zekefast has quit [Quit: Leaving.]
zekefast has joined #rom-rb
<dkubb> dbussink: do you mean the coerce stuff in axiom-types?
skade has quit [Quit: Textual IRC Client: www.textualapp.com]