Hello all,

I've been reading Parrot documentation and tutorials, and taken a look
at some of the HLL implementations, in order to decide if I have the
resources and skills to implement an HLL on top of Parrot. I've browsed
through the archives of this mailing list from the past year as well. I
have a few of questions, which either have conflicting answers in
existing documentation, or are not addressed anywhere.

1. How stable are PCT, PGE and NQP? (Or is it just NQP nowadays?) In
other words, if I start writing an HLL implementation today for Parrot
3.0.0, will the implementation still work on Parrot 4.0? 

2. How stable is PIR? I would definitely want to write the parser and
grammar actions in NQP, but based on existing implementations (Rakudo in
particular), it doesn't seem possible to write a full compiler with just
NQP; you have to embed some PIR code. And there is an ongoing effort to
change the target bytecode of the PIR compiler, which (I expect) will
have ramifications in PIR itself.

The reason I'm asking these questions is because there don't seem to be
any definitive design documents for either PIR or NQP, or any promises
that they will remain stable between major Parrot versions. I would hate
to do a lot of work in Parrot 3.0 version of NQP, only to discover that
I have to rewrite arbitrary portions in Parrot 4.0 for no good reason.
(And figure out what has changed between versions.) And there are some
indications in the wiki and mailing lists that this has already happened
between versions 1.0 and 2.0; witness the stale or abandoned HLL
projects that no longer compile in newer versions of Parrot.

Regards,
Ville Koskinen
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to