Re: Looking to get Involved
[email protected] (Darren Duncan) Mon, 16 Feb 2009 00:20:01 -0800
| Newsgroups | perl.dbi2.dev |
|---|---|
| Message-ID | <[email protected]> |
Jonathan Leffler wrote: > On Sat, Feb 14, 2009 at 12:15 PM, Steven Lembark <[email protected]>wrote: >> Jonathan Leffler wrote: >> >> It depends, in part, on Perl 6 stabilizing. >> >> How stable? >> >> Rakudo more-or-less works -- at least enough to start >> serious planning based on the spec. > > Beware - you have to 'Reply-All' to get messages to the mailing list. > > Dunno - but more stable than it was in 2006 (which it undoubtedly is). > > I'm not sure how well the extension interfaces are defined. How do you do > the analogue of XS in Perl 6? Or, how do you get at C code form Perl 6? > > I've forgotten how Perl 6 relates to Parrot, or Rakudo, or ... any of the > myriad other code names lurking around. So, what does "Rakudo more-or-less > works" mean? > > I'm not the leader...I'm just a pleb DBD developer aiming to keep abreast of > what happens. So anything I say should be taken with a pinch of salt and > treated as non-definitive. I'm not deeply involved at the moment but keep abreast in various Perl 6 things. Basically, Perl 6 is a language that has multiple implementations, for example Pugs is an implementation over Haskell and Rakudo is the name of the implementation over Parrot; if you want to ignore any non-Parrot stacks, then just say that Rakudo is the name of the program you compile Perl 6 code with. Now, last I recall from the roadmaps, Parrot is planning to hit version 1.0 around March 2009 or sometime; the significance of Parrot 1.0 being that the Parrot VM should then be a feature complete relatively stable target for writers of compilers, such as Rakudo, to target. This doesn't mean Rakudo will be at 1.0 though; that would probably take a lot longer, perhaps until after the Perl 6 auxiliary synopsis are all written. To answer your XS analogy question, Parrot has something called NCI (native call interface), which essentially lets you invoke C library APIs directly without needing any library specific glue code like XS is; so essentially you don't need XS anymore. Now I don't recall it actually being in a synopsis document, but what was discussed in the past is that Perl 6 does have a native facility for just invoking routines and other entities of foreign languages directly without glue code, basically just by way of a special Perl namespace prefix. And so, presumably any DBI for Parrot or Perl 6 won't need any components written in C in general, and you could probably just write it all in Perl 6. Which also means in general that any Perl 6 DBI with similar functionality to the Perl 5 DBI will require a much smaller codebase. That is what I understand. -- Darren Duncan