Larry (>):
> [Long exposition on the philosophy of predeclaration]
>
> Hope this helps, or I just wasted a lot of time.  :-)

It did help. Thanks.

A comment on one part, though:

> But I also think that type recursion is likelier to indicate a design
> error than function recursion [...]

I do too. A month or so ago I would have considered type recursion to
always indicate a design error. That was before I started trying to
port type cycles in a program making sensible use of them. :)

As far as I can see, the two cases of type recursion in PGE I outlined
do not indicate a design error. I'd be happy to chat with anyone who
has an idea about how they could be simplified away and replaced by
something non-ugly.

Another thing I started thinking about: if Perl 6 professes to be able
to put on the hat -- syntactically and semantically -- of most any
other programming language out there, through the use of a simple 'use
Language::Java' or 'use Language::Ruby' -- how will Perl 6 compensate
for the fact that its parser is one-pass whereas most other languages
do two passes or more? Specifically, will some programs in those other
languages fail to compile under a Perl 6 language module due to the
fact that a type keyword was referred to before it was declared? If
multiple passes introduce linguistic race conditions, what about
outright linguistic infelicities due to the Perl 6 limitation of
one-pass parsing?

// Carl

Reply via email to