在 2006/7/4 下午 10:05 時,Allison Randal 寫到:
Perl tends to take the strategy of making the power accessible and
teaching people to use it wisely (a philosophy that Parrot carries on).


I would note that only Perl 5, and Perl 5 alone, has this interleaved- parsing-with-evaluation feature with full side effects, a trait that made static analyzers and retargettable compilers for Perl 5 impossible to write. In Perl 6 we try to remedy this with separate compilation, and I'm not aware of any other system that exhibits the equivalent behaviour; not Ruby, Python,
or PHP.

It's clear that you'd like to architect Parrot to follow Perl 5's design lead; as long as it's a conscious design choice,
I will not quibble with that.

at is, just because one language targets separate compilation doesn't
mean all languages will.

Again, no other language than Perl 5 that I know of exhibits the BEGIN behaviour. Ruby's BEGIN is merely Perl 5's INIT, so that doesn't count either. So the "one language" here is Perl 5, not Perl 6.

I do agree that taking a try-and-see attitude is a valid option; in that
case we can simply declare "nothing but Parrot can work with PIR", in
the same way that "nothing but perl5 can work with Perl 5".

I don't see how that conclusion follows. Any external tools can write
PIR code and then execute it on Parrot, and anyone can implement a
backend that runs PIR.

Yes, but without an Parrot execution context (with support for PMCs, etc.), that external tool cannot deal with :immediate. It's really the same problem as IDEs trying (and failing) to work with Perl 5.

But again, it's the architect's decision to make, and I will stop to quibble. :-)

thanks,
Audrey

Attachment: PGP.sig
Description: This is a digitally signed message part

Reply via email to