Puffball has quit [Read error: Connection reset by peer]
Puffball has joined #jruby
akp_ has joined #jruby
akp has quit [Ping timeout: 260 seconds]
drbobbeaty has quit [Read error: Connection reset by peer]
drbobbeaty has joined #jruby
_whitelogger has joined #jruby
Puffball has quit [Remote host closed the connection]
Puffball has joined #jruby
prasun has joined #jruby
prasun has quit [Quit: Leaving]
prasun has joined #jruby
akp_ has quit [Remote host closed the connection]
akp has joined #jruby
Puffball has quit [Ping timeout: 276 seconds]
akp has quit [Ping timeout: 246 seconds]
Puffball has joined #jruby
prasun has quit [Ping timeout: 246 seconds]
prasun has joined #jruby
drbobbeaty has quit [Ping timeout: 246 seconds]
akp has joined #jruby
akp has quit [Ping timeout: 255 seconds]
prasun has quit [Ping timeout: 276 seconds]
<GitHub63> [jruby] kares pushed 3 new commits to master: https://git.io/vQ2r1
<GitHub63> jruby/master 48876be kares: implement Kernel#singleton_method(name)
<GitHub63> jruby/master 24db4f0 kares: deprecate not-used push_m method on RubyArray
<GitHub63> jruby/master 107054e kares: deprecate method(s)19-suffixed impls; hide/refactor internal helpers
akp has joined #jruby
drbobbeaty has joined #jruby
akp has quit [Ping timeout: 246 seconds]
cschneid has quit [Ping timeout: 246 seconds]
cschneid has joined #jruby
nirvdrum has quit [Ping timeout: 240 seconds]
akp has joined #jruby
akp has quit [Ping timeout: 258 seconds]
akp has joined #jruby
akp has quit [Remote host closed the connection]
akp has joined #jruby
akp has quit [Remote host closed the connection]
akp has joined #jruby
akp_ has joined #jruby
akp_ has quit [Remote host closed the connection]
akp has quit [Read error: Connection reset by peer]
akp_ has joined #jruby
Aethenelle has joined #jruby
oncall-pokemon has joined #jruby
camlow325 has joined #jruby
Joufflu has joined #jruby
<codefinger> enebo: do you think this change should be prerequisite on said "mechanism for adding our own definitions to the stdlib"? Or should i try to improve it as mentioned in mine and kares comments? https://github.com/jruby/jruby/pull/4698
camlow325 has quit [Quit: WeeChat 1.5]
<enebo> codefinger: yeah I don't know. I guess we should not hold you up unless we have a more concrete idea
<enebo> codefinger: we can always migrate later. I just was realizing how nice it would be to have a standard mechanism for this
<codefinger> enebo: it's not holding me up. this is an ergonomic change. i'd rather get it right than introduce something that might be troublesome
<codefinger> enebo: would a simple mechanism be a set of files that are copied onto the stdlib (i.e. never change existing files)?
<codefinger> s/onto/into/
<enebo> codefinger: we actually maintain our stdlib as a separate repo and it fetches from MRI then we overlay onto our repo (and look for changes which are not in our repo)
<enebo> codefinger: but maintaining the delta itself is something we would like to get smaller which is why I made mention in the PR. Since these are new non-overlapping methods it seems like it could be in another file if we had some smarts in loading
<enebo> err method
<codefinger> i'm significantly more confused now than when this convo started
<enebo> haha
<codefinger> it sounds like my changes should not go in lib/ruby/stdlib/?
<enebo> codefinger: so you are patching in a new method and putting it into an existing stdlib file means we need to maintain a delta of that file now since we source them from MRI
<codefinger> actually, i put the method in a new file. but i do need to edit uri.rb to require it
<enebo> codefinger: my pondering on the PR was that if we could seamlessly load a second file with our additions (but without editing the original) then we could never have any deltas to maintain
<codefinger> ok i get that
<enebo> codefinger: how to do that is what I have no handle on
<codefinger> can that mechanism be one file in lib/ruby/stdlib/ that contains only `require` calls?
<enebo> codefinger: I mentioned having a file further up the load path and that would require_relative the real stdlib but that feels icky to me so it was just an illustration
<enebo> codefinger: it could be but we would then need to rename files in MRI stdlib when we pulled them over
<enebo> codefinger: which, to me, does not really improve the maintenance situation a lot
<enebo> codefinger: I think what would be nice would be some feature like 'after_require "stdlib/uri", "jruby_uri"'
<enebo> codefinger: this would be put into our kernel ruby files or something and it would be a post hook which would require jruby_uri if it loads/requires stdlib/uri
<codefinger> i see
<enebo> codefinger: it is a bit opaque at one level which some people may dislike but it would make maintenance really simple
<enebo> codefinger: it also solves any monkey patching as well so we could get rid of a few things we have now
<codefinger> i could also put `java.net.URI.new` in a helper method in my app :)
<enebo> codefinger: it is just an idea though
<enebo> codefinger: well I don't have an issue with to_java getting added to uri now
<enebo> codefinger: my musing as I said was not to derail but more to see if it got any reaction
<codefinger> seems like a lot of work if it's only needed for this one thing though. but i imagine there are other potential use cases for tweaking stdlib
<enebo> codefinger: yeah we add our own methods to some types and we replace the definitions sometimes as well
<enebo> codefinger: ultimately it would be nice if all our changes were just upstream in MRI's copy but realistically it is weird for them to have a to_java
<enebo> codefinger: and Ruby Java Bridge may not dig that too
<enebo> hook for pre/post require seems like it would solve this nicely but I bet people would think we were the antichrist because it gives a nice generic way of adding monkeypatches
<enebo> and it is a bunch of hidden implicit behavior triggering
<enebo> (e.g. if you do not know the hook is registered you will throw your keyboard against the wall when you realize a hook replaced a definition on you)
<enebo> so in my mind I am not sure it is a good or bad solution to this in the long run
<enebo> the simplest solution is to just maintain the deltas
* codefinger nods
nirvdrum has joined #jruby
subbu is now known as subbu|afk
Joufflu has quit [Read error: Connection reset by peer]
Joufflu has joined #jruby
subbu|afk is now known as subbu|lunch
Aethenelle has quit [Quit: Aethenelle]
camlow325 has joined #jruby
Aethenelle has joined #jruby
<GitHub196> [jruby] headius pushed 1 new commit to ruby-2.4: https://git.io/vQa1S
<GitHub196> jruby/ruby-2.4 ddec5e2 Charles Oliver Nutter: Check for negative fileno....
subbu|lunch is now known as subbu
Joufflu has quit [Ping timeout: 268 seconds]
Joufflu has joined #jruby
subbu is now known as subbu|busy
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
akp has joined #jruby
oncall-pokemon has quit [Quit: Connection closed for inactivity]
akp has quit [Ping timeout: 255 seconds]
akp_ has quit [Ping timeout: 276 seconds]
Joufflu has quit [Ping timeout: 240 seconds]
Aethenelle has quit [Quit: Aethenelle]
Joufflu has joined #jruby
subbu|busy is now known as subbu
Joufflu has quit [Ping timeout: 246 seconds]