在 2006/7/4 下午 10:05 時,Allison Randal 寫到:
Perl tends to take the strategy of making the power accessible andteaching 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 thatcase 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
PGP.sig
Description: This is a digitally signed message part