[Python-Dev] Parrot -- should life imitate satire?

Thomas Wouters thomas@xs4all.net
Tue, 31 Jul 2001 11:55:22 +0200


On Mon, Jul 30, 2001 at 08:12:04PM -0700, Nathan Torkington wrote:

> > And I won't even start with Perl's more archaic features, that
> > change the whole working of the interpreter.
> 
> Those are going away.

Yeah, I thought as much, which is why I wasn't going to start on them :)

> Perl people hate them as much as you do--the only time they're used now is
> to make deliberately hideous code, and hardly anyone will seriously lament
> the passing of that ability.  No more "change the starting position for
> subscripts", no more "change all RE matches globally", and so on.

I don't really hate the features, I just don't use them, and wouldn't want
them in Python :-) I do actually program Perl, and will do a lot more of it
in the next couple of months at least (I switched projects at work, to one
that will entail Perl programming roughly 80% of the time) -- I just like
Python a lot more.

Your comments do lead me to ask this question, though (and forgive me if it
comes over as the arrogant ranting of a Python bigot; it's definately not
intended as such, even though I only have a Python-implementors point of
view.)

What's going to be the difference between Perl6 and Python ? The variable
typing-naming ($var, %var, etc) I presume, and the curly bracket vs.
indentation blocking issue. Regex-literals, 'unless', the '<expression>
if/unless/while <boolean exp>' shortcut, I guess ? Those are basically all
parser/compiler issues, so shouldn't be a real problem. The transmorphic
typing is trickier, as is taint mode and Perl's scoping rules.... Though the
latter could be done if we refactor the namespace-creation that is currently
done implicitly on function-creation, and allow it to be done explicitly.
The same goes for the variable-filling-assignment (which is quite different
from the name-binding assignment Python has.)

I don't really doubt that Perl and Python could use the same VM.... I'm not
entirely certain howmuch of the shared VM the two implementations would
actually be using. Is it worth it if the overlap is a mere, say, 25% ? (I
think it's more, but it depends entirely on howmuch different Perl6 is from
Perl5, and howmuch Python is willing to change.... Lurkers here know I'm
agressively against gratuitous breakage :)

-- 
Thomas Wouters <thomas@xs4all.net>

Hi! I'm a .signature virus! copy me into your .signature file to help me spread!