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


Reply via email to