On Wed, 2005-04-27 at 03:32, Autrijus Tang wrote: > (via http://lambda-the-ultimate.org/node/view/673 )
LtU is a great site, BTW, I highly recommend it to anyone interested in languages. > There are a few things in that spec, though, that makes me wonder > if Perl 6 should have it too: [...] > 2. Tuple types > > sub foo () returns (Int, Bool, Array) { > > Currently per S09, Perl 6 collection types all have uniform types, > so one has to use the `List of Any` or `Array of Any` return type > instead. That seriously hinders inference and typechecking; however, > I wonder if it is a design decision already made... :) I don't think Parrot would have any support for signature checking of this sort... just a thought. > 3. Labels applies to blocks, not statements I would say that this is a bad idea. We're keeping goto because it's just darn useful for generated code, and for that same reason, it really needs to be on a statement level, not a block level. > 4. Software Transaction Memory This is a good idea, but most of the things that it provides would probably be better provided in a Parrot module, mocked up into each client language in a module of their own, rather than as a core language feature. > 5. Macro model based on syntax expanders. I'm pretty sure the combination of macros and grammar could easily provide this in P6. It too is more of a module than a core language feature, however. > 6. Database-indexed module management > > An embedded database (such as SQLite) can be used to track different > revisions of installed modules on the local machine, manage upgrades, > check api compatibility, and keep related logs; And a darned good idea, that! > 7. AST definition [...] > Is there something like it that exists somewhere for Perl 6? Isn't that called Pugs? ;-) -- Aaron Sherman <[EMAIL PROTECTED]> Senior Systems Engineer and Toolsmith "It's the sound of a satellite saying, 'get me down!'" -Shriekback