At 04:24 AM 1/2/2002 +0900, Phil Tomson wrote: >We've had a couple of different threads flowing here the last few days >about getting Ruby to work with Parrot. Dan Sugalski has suggested that >we (the Ruby community) need to create a Ruby parser in Ruby that >initially needs to emit Parrot bytecode and later we could pass on an AST. Need is an awfully strong word. It'd make some things easier, but I don't much care. (Well, I'm unlikely to play much with a Ruby parser written in RPG or APL, but if you really must... :) >So..... I want to propose a new project called Cardinal (the name is open >to discussion, I chose Cardinal because Parrots are birds, Rubys are red >and Cardinals are red birds - is the name already taken? I don't see >any Cardinal project on RAA). The goal of Cardinal is to create a Ruby >frontend for Parrot. Don't feel constrained to just front-end stuff. If new variable types are needed, or changes to the core opcode set would be useful, those are doable. The design's such that new variable types can be dropped in seamlessly and new opcodes can be added in dynamically, but if we have them as part of the core we can make sure the test suite exercises them. That and you'll avoid the dreaded "My ISP won't install anything extra" syndrome. >There is a Parrot FAQ at: http://www.panix.com/~ziggy/parrot.html which >might answer more questions. Or not, I was a bit flip in it on the technical stuff. This came up on slashdot over the weekend, and the conversation there has some elaborations. Browsing it at +2 isn't too painful. The FAQ will be updated, though, when we all get some time after the holidays. >Why? >There are several reasons why it's a good idea for Ruby to be able to >'play' with Parrot... >4) Performance? - I think that the Parrot folks are putting a lot of >thought into improving performance, maybe it's possible that Ruby running >on Parrot will be faster than the current implementation (but I'm >speculating here). Performance is definitely a dead-on core goal. (I want Parrot to voom without needing four million volts. :) The design's been done with future TIL, JIT, and compilation in mind. (The folks involved have surprised me with a partial JIT already, which is keen) >5) The involvment of the Ruby community could help influence the >development of Parrot (I think it already has to some extent - they are >paying attention to some of Ruby's requirements, such as support for >continuations) *Yes*! I am doing what I can to make sure the potential's there, but there's the inevitable fight to make sure it stays there. I'm not a Ruby (or Python) programmer, so while I try to make sure I'm not precluding efficient execution of Ruby and Python code, it's a sort of academic exercise for me. And while I really, *really* would love folks to jump in and help, the one thing I do *not* want is to bleed people away from working on Ruby as it stands now. So all help is gratefully appreciated on my part, but if your options are to pitch in with Parrot or enhance Ruby as it stands now, by all means enhance Ruby. Dan --------------------------------------"it's like this"------------------- Dan Sugalski even samurai dan / sidhe.org have teddy bears and even teddy bears get drunk