From: Chuck Remes Date: 2008-04-11T00:07:09+09:00 Subject: Re: Ruby?s not ready - an indepth essay On Apr 10, 2008, at 6:31 AM, Gregory Seidman wrote: > On Wed, Apr 09, 2008 at 10:33:53PM +0900, Chuck Remes wrote: >> >> On Apr 8, 2008, at 10:55 PM, M. Edward (Ed) Borasky wrote: >>> Song Ma wrote: >>>> This is the insightful point I was expecting after following such a >>>> long mail chain. Now I am implementing one Rails application which >>>> requires to be supported by both MRI (1.8.5) and JRuby (1.0.3, >>>> compatible with MRI 1.8.5). I found so many inconsistencies >>>> between >>>> these two "Ruby". (Or Rubies?). Even the MRI test cases can not >>>> pass >>>> in JRuby. That's painful. I remembered Charles Nutter asked >>>> Matz in >>>> RubyConf 2007 if there is going to have any specification for >>>> Ruby. But >>>> apparently it doesn't happen. >>> >>> There are partial test suites/specs out there, but probably no >>> single >>> one that's "definitive". I haven't heard much about the BFTS (Big >>> Formal >>> Test Suite) recently. >>> >>> The last rumor I heard was that the "canonical" Ruby test suite was >>> most likely going to come out of the Rubinius project. Can someone >>> confirm or deny that? I haven't been tracking Rubinius recently. >> >> The specs being created as part of the rubinius project are being >> spun >> off to a separate project called rubyspecs. I don't think there's a >> website yet, but chatter on irc indicates it will be launched >> within the >> next few months. >> >> These specs are already heavily used by both rubinius and jruby. >> Rumor >> has it that the IronRuby project is also using them. There is hope >> the >> Sapphire Ruby fork project will use the specs too. >> >> The only major project which has shown no interest in using them is >> MRI. > > I'm pretty sure I remember Matz having good things to say about them > at > RubyConf 2007. I think the main issue is that very little time or > effort is > being put into MRI in favor of YARV-based 1.9 development. Since > Ruby 1.9 > (the language) is not compatible with 1.8, and hasn't been 100% > nailed down > as I understand it, the test suite would need some revising before > it could > be used for what is actually being developed right now. Greg, while he may have made some positive noises, the core team hasn't been very interested in the concept even for 1.9. Also, the 1.8 branch is still under development. We should see 1.8.7 released in a few weeks. Regardless, no specification exists for the language beyond the actual implementation. Unfortunately for us, the implementation changes behavior even between patch releases (1.8.6 patch 111 versus 1.8.6 patch 114). This really needs to be nailed down. I imagine this is partially the impetus behind the Sapphire Ruby fork. cr