Index

Show enters and exits. Hide enters and exits.

19:26:19dbussinkbrixen: ping
20:28:05alexsuracihaving trouble building here; gets pretty far, but stops at "no such file to load -- ext/digest/sha1/sha1" (trace: http://paste.pocoo.org/show/164114/, full log: http://paste.pocoo.org/show/164110/)
20:28:13alexsuraciis there an obvious problem here or shall i file a ticket?
20:28:30dbussinkalexsuraci: you're using 1.9 to build it i guess?
20:28:32DefilerI don't believe the build process works on 1.9 yet
20:28:33alexsuraciyeah
20:28:34dbussinkalexsuraci: use 1.8 for now
20:28:41alexsuraciah, alright. thanks.
20:28:48dbussinkDefiler: it's a really annoying issue to fix btw
20:28:59DefilerIt looks like it.. what is the crux of it?
20:29:27dbussinkDefiler: 1.9 looks through each directory in the load path for each file type
20:29:40dbussinkso it goes to look for a filename.rb in all paths
20:29:46dbussinkthen for a filename.so in all paths
20:29:58dbussinkinstead of going through all paths and look for a .rb first and than a .so
20:30:19dbussinkso if you have a path in the load path that occurs later, but has an .rb and not a .so, that .rb is picked up first
20:30:28DefilerOh that is lame
20:30:46dbussinkwhich causes this to break, because it finds digest/sha1.rb first in rbx, but it's in a later load path than digest/sha1.bundle from mri
20:30:53DefilerWhat is the purpose of that change, even? If anything I would expect it to be in reverse
20:31:02Defilerto load an extension in favor of a pure ruby version
20:31:12alexsuraciI guess the course of action for me (wanting to keep 1.9 around) is to compile ruby 1.8 and install to another path, eh?
20:31:26DefilerOr is this just another capricious 1.9 change with no justification or discussion?
20:31:53Defileralexsuraci: Check out 'rvm'; very easy to have multiple ruby versions available without cluttering your system with paths
20:32:01Defilerhttp://rvm.beginrescueend.com/
20:32:22alexsuraciDefiler: great, thanks, I'll check it out
20:33:44dbussinkDefiler: i have no idea
20:34:00dbussinkDefiler: i can live with requiring an .rb first, but this creates really unexpected behavior imho
20:34:24dbussinkDefiler: i don't think this is something explicitly considered, but i could be wrong
20:34:37DefilerCan you say require 'foo.so' and have it pick up .bundle files on the Mac, etc? I think I remember that being possible, but I'm not sure
20:34:46alexsuracigah, rvm-install sources ~/.bash_profile. which I use to start X. that wasn't the most graceful install but it looks like it worked after my ctrl+c. ;)
20:35:01dbussinkDefiler: dunno, but it wouldn't fix it in this case
20:35:01Defilerhaha yeah that would be irritating
20:35:20dbussinkDefiler: since you would want rbx to be buildable with rbx, so you don't want to put in an explicit .so there
20:35:20Defilerdbussink: Yeah, just prompted the memory
20:44:37alexsuracihurrah, rvm saves the day. thanks.
20:45:18dbussinkrvm is a really nice tool
20:46:27alexsuracihad one test fail
20:47:03alexsuracihttp://paste.pocoo.org/show/164120/
20:47:21alexsuracisays rake aborted, but it still built everything, right?
20:48:34DefilerYeah
20:48:40DefilerWhat flavor of Linux are you on?
20:48:52Defilersetprio must work a little differently on it
20:48:52alexsuraciarch, x64
20:49:04DefilerArch is kickass
20:49:30dbussinkmaybe some restrictions on what priorities you can set?
20:49:56alexsuraciDefiler: it is :)
20:56:11dbussinkalexsuraci: does mri fail on the same spec?
20:57:39ruedbussink: I think it would be appropriate to bring the load order up on -core. Are you using 1.9.1 or .2?
20:57:56dbussinkrue: tested with both, both behave the same
20:58:04rueI cannot recall that it was discussed that should be the load order
20:58:16dbussinki have a 1.9.2-head from less than a few days ago
20:58:55rueOr, well, check -core archive...but that kind of change should not make it through without discussion (intentionally)
20:59:02rueMaybe I just skipped the thread
21:00:10dbussinkcan't remember it either
21:00:15dbussinkyou searched for it?
21:04:40rueNaw, lazy
21:14:12botanicusevan: Hi Even, can you tell me more about http://twitter.com/evanphx/status/7604674286 ?
21:14:20botanicus* Evan, sorry
21:17:35Defiler1.9 has hundreds of changes, many semi-fundamental
21:17:54DefilerNeeds a branch made out of the VM with some different semantics for things like splats
21:18:13Defilerand then matching changes for all the affected core libraries
21:18:27alexsuracidbussink: sorry, back; how do I test it with mri?
21:19:04DefilerSomeone who wanted to manage that effort would be welcome to do so though
21:19:15botanicusDefiler: I know ... but IMHO it's time to have support for it finally
21:19:26DefilerI personally think it is too soon, but maybe I am wrong
21:19:55DefilerMany "wait, really? why did this change?" conversations on ruby-core lie ahead
21:20:07DefilerOr, well, they would if conversations actually took place on ruby-core
21:20:22DefilerMore like unanswered pleadings with the wilderness
21:21:24botanicusDefiler: too soon :) ? A year after 1.9.1 release?
21:21:41Defiler1.9.1 crashes on me five or more times a day
21:21:46Defilerand lots of changes are coming in 1.9.2
21:22:11DefilerI am using 1.9 as my primary install of ruby at the moment, and it is pretty frustrating
21:22:13botanicusDefiler: it doesn't matter how stable MRI is, we are talking about syntax/stdlib support of 1.9 in Rubinius
21:22:29botanicusDefiler: anyway it'll take time to get the 1.9 support into Rubinius so we should start rather soon
21:22:33DefilerSure, but the only reason to have such support is that 1.9 exists
21:23:10DefilerI agree we should start organizing the effort though
21:23:13botanicusDefiler: well I'm using 1.9.1 and it's quite stable. Yes, 1.9.2 crashes all the time, that's true ...
21:24:29DefilerI am on 1.9.1p243 and I see the crash reporter daily
21:24:44DefilerThough generally from extensions
21:26:10botanicusDefiler: probably
21:27:39dbussinkbotanicus: 1.9.1 is not ready for prime time imho
21:27:48dbussinkway too much has happened in 1.9.2 after that
21:27:57dbussinki don't expect stuff to stabilize after 1.9.2
21:28:07dbussinkand i've hit a wtf moment to day with 1.9 (again)
21:28:26dbussinkthere is already a one_nine branch
21:28:30dbussinkwhere people can work on stuff
21:29:02botanicusdbussink: hmm ... I'm using 1.9 since this May and it's fine.
21:29:07dbussinkbotanicus: and i don't think as library developer you can use the new syntax for some time
21:29:09alexsuracihttp://twitter.com/yugui/status/5739171454 tossin' this into the mix
21:29:33botanicusdbussink: well I don't support 1.8 since June :)
21:29:48dbussinkbotanicus: i do and probably will keep doing for some time
21:29:53botanicusdbussink: I just think it's time to finally move on
21:29:58Defileralexsuraci: Let me just favorite that tweet so I can check back on it next year and see how that turned out :)
21:30:08alexsuraciDefiler: haha, yea, probably
21:30:22dbussinkand i don't feel the need yet for the libaries i work on to be 1.9 only
21:30:22alexsuracii've heard precious little about ruby 2.0
21:30:35dbussinkno killing features there that makes me want to say, no 1.8 anymore
21:31:02DefilerI like the keyword arguments, but I detest how complex you can make method signatures now
21:31:23botanicusdbussink: well it's not a revolution, but there is a lot of smaller, but very useful changes
21:31:48botanicusDefiler: keyword arguments?
21:32:06dbussinkbotanicus: what kind of things make you not want to support 1.8 anymore?
21:32:44dbussinki'm all for 1.9 adoption, but for library development supporting both 1.8 and 1.9 doesn't really burden me at all
21:33:09dbussinkbotanicus: you can work on the one_nine branch if you want to change things for 1.9 in rubinius
21:33:19Defilerbotanicus: I mean what 1.9 lets you do instead of :option => value
21:33:36Defileror previously let you do. I gave up tracking 1.9 changes in detail a while back
21:33:59dbussinkDefiler: i think that shows one of the problems ;)
21:34:00botanicusdbussink: laziness ;) It's easier to support just one version ... but well, for example arguments for methods / procs works differently and I want to use this new features.
21:34:42botanicusdbussink: well I can help with Ruby code, but not with some parser stuff
21:34:58dbussinkbotanicus: well, that's usefull too
21:35:03botanicusDefiler: hmm, I'm probably missing something - can you show me an example?
21:35:35botanicusdbussink: OK, so what should be done? I'm not familiar with Rubinius sources, I just like it as an implementation
21:35:48Defilerx(foo:5,baz:7)
21:36:16dbussinkbotanicus: well, the biggest changes are also the hardest ones ;)
21:36:34dbussinkparser and i think the whole encoding stuff has the biggest impact
21:36:42botanicusDefiler: it's not possible, try it ;)
21:36:47DefilerYeah, I guess they pulled it
21:36:57DefilerWas in 1.9.0
21:37:20DefilerThe changes that aren't in this doc are some of the trickiest http://svn.ruby-lang.org/repos/ruby/tags/v1_9_1_0/NEWS
21:37:22botanicusDefiler: really? I haven't noticed. It would be cool to have them.
21:37:32DefilerYes
21:37:48Defilerbut unfortunately they came with crazy crap like def foo(*splat, **fnargle)
21:37:56Defilerthough I guess the multiple splat stuff is still in
21:38:13dbussinkyeah, that's some really nasty shit
21:38:21dbussinksplat is already nasty
21:38:36DefilerGetting splat right was... so hard.
21:38:39botanicusDefiler: it's not, I just tried it
21:38:39dbussinkthere's also the bikeshedding now on stuff like singleton_class
21:39:14Defilerx,y,z = *something, 5, *other_thing
21:39:18Defileris valid in 1.9 but not 1.8
21:39:20dbussinkrue: i mailed core
21:39:28botanicusdbussink: OK, I'm still not sure what I can do. As I told, I'm just a Ruby guy, I can't help with some low-lever parser or encoding stuff. I can do Ruby, that's it.
21:39:33dbussinkDefiler: it's also possible for method args
21:39:36DefilerYeah
21:39:51Defilerand things that I considered fundamental building blocks of the language have changed
21:39:53dbussinkbotanicus: well, you can add 1.9 features too
21:40:02Defilerlike what happens when you splat an array with one element
21:40:27botanicusdbussink: like core classes & standard library?
21:40:31dbussinkbotanicus: actually the way constant lookup has changed very recently
21:40:55dbussinkso that's why it's not my default yet, they keep changing core stuff like that still
21:41:04dbussinkbotanicus: yeah
21:41:09DefilerIs there a writeup on that actually? I ran into some trouble porting some code to 1.9 and it wasn't clear what the new behavior was
21:41:18Defilerre: constant lookup
21:41:44botanicusdbussink: OK. So it's not done yet? I've seen stdlib for 1.9 in Rubinius quite a few months ago.
21:41:57botanicusLet me clone rubinius ..
21:43:03dbussinkDefiler: http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-core/26774?26650-27013
21:43:21dbussinkDefiler: they basically reverted it to 1.8 behavior for the common cases
21:43:43dbussinkbotanicus: also check the one_nine branch
21:44:26Defilerwait, shugo didn't know how it worked in 1.8?
21:44:28DefilerHow is that possible?
21:44:54dbussinkevan: ping?
21:46:53Defilerhaha suji ga warui? really??
21:47:03DefilerThis thread makes me sad
21:47:40dbussinkDefiler: how does that translate?
21:47:54Defiler'the logic/reasoning is poor/bad'
21:49:13dbussinkah, that's saddening yeah
21:49:18dbussinkbut i'm glad the change was made
21:49:33dbussinkhad to jump through some hoops for some datamapper specs to get them running on 1.9 before
21:50:19botanicusOK I have rubinius cloned
21:51:17dbussinkbotanicus: i actually have a Method#parameters implementation here locally, but i want to check what evan / brixen think of adding features like that to mainline
21:51:24dbussinkor whether it should stay in 1.9
21:51:54botanicusdbussink: OK
21:52:02dbussinkespecially because this feature was added to 1.9 because parse tree wasn't an option for 1.8
21:52:34botanicusdbussink: just tell me then what I can do. I don't have much time, but I'll definitely contribute at least something.
21:53:48dbussinkbotanicus: well, easiest are adding things that are new
21:53:58dbussinkbotanicus: and don't change behavior
21:54:17dbussinkbotanicus: you can check the rubyspecs to see what 1.9 stuff you can work on
21:57:06dbussinkbut i'm going to grab some sleep
22:01:16botanicusdbussink: OK, thanks & gn.
22:01:44DefilerDespite my cynicism about the 1.9 dev process, I am more than happy to answer questions if you run into trouble
22:02:24dbussinkDefiler: working on a ruby implementation makes people a bit cynical i guess ;)
22:02:45botanicusDefiler: well, first of all I'm not able to compile rubinius, I'm getting library not found for class Digest::SHA1 -- digest/sha1 when I run rake (configure was fine)
22:02:46dbussinkremembers Defiler at railsconf working on caller :P
22:02:59dbussinkbotanicus: read my latest issue filed on ruby-core :)
22:03:02Defilerbotanicus: make sure you are doing it under rbx or 1.8
22:03:19botanicusgood point
22:03:39Defilerdbussink: Nobody in core ever replied or commented on my bug ticket
22:03:49DefilerShocked I say, shocked!
22:04:03dbussinkDefiler: hehe
22:04:11dbussinkbut now for really some sleep
22:04:13dbussinknight ppl!
22:04:18DefilerSleep well
22:04:28botanicusgn
22:10:47botanicusOK, I'm just running the specs ... so basically the best way how to work on Rubinius is just fix those broken, right?
22:11:14DefilerProbably the second-best way to get started
22:11:26Defilerfirst-best being running your own code on it and fixing anything that doesn't work
22:11:45DefilerSaves you the step of investigating exactly what the spec is looking for
22:11:57botanicusDefiler: yeah since my code requires parser changes, probably nothing would work
22:12:31DefilerYeah, and that is a tricky thing to modify
22:27:47botanicusHmm most of the errors are due to missing Encoding & BasicObject
22:28:40botanicusAnd the remaining ones aren't fixable again because of missing encoding, for example these errors with ERB, it makes sense to just upgrade ERB to the newest one from Ruby stdlib, but it use Encoding as well
22:29:54DefilerThere will be numerous such concentric circles of fun getting 1.9 compatibility :)
22:30:45Defilerspike for the parser, spike for the encoding stuff, spike for the changed object ontology, spike for the runtime/vm changes hehe
22:32:10botanicusDefiler: yeah ... trouble is I don't have clue how can I add basic object etc?
22:34:00Defilervm/ontology.cpp will need changing, and there may be a need to introduce it in kernel/common/basic_object.rb as well
22:34:17Defilerbut probably not, given that it is just the most-basic stuff