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