在 2006/6/22 下午 8:18 時,Swaroop C H 寫到:
That is completely correct, although we don't compile to CIL at the moment.Hi Audrey,I'm hell confused on the state of the numerous Perl6 backends that we have :-). As I understand it, there is no "main" backend right? First there is the Pugs part written in Haskell that compiles to PIR which Parrot can run, and similarly it compiles to JavaScript / CIL / etc ? Then, we have the misc/pX/Pugs-Compiler-Perl6 which is a p6-to-p5 translator. Is my understanding correct?
Going forward, what will be the "main" backend? I mean what will be the one that will be used in production? I am assuming we have all this because of the bootstrapping problem?
The "main" backend as I see it, in the near future, is definitely the Perl 5 runtime for production use, because a new runtime (be it GHC or Parrot or SpiderMonkey) always faces a far higher barrier of entry. Codegen to that runtime is probably going to be written in Perl 5 in Pugs::Compiler::Perl6 space, although it may also happen at Perl 6 space, Parrot space, or Haskell space. (The author-side tools has higher flexibility; the client-side runtime must only assume pure Perl5 and maybe selected well-known XS modules.)
But in the long run, it'll just be different runtimes for different environment. Python has maybe 10 implementations, half of them quite complete; Scheme has more than 20; it's really good for Perl 6 to be retargettable across different runtimes as well.
Sorry for the numerous questions, but I'm so curious, and I didn't know which list to send this to (internals vs compiler vs users ?? )
-compilers is probably it; Cc'ed them. :-) Thanks, Audrey
PGP.sig
Description: This is a digitally signed message part