On Sep 17, 2006, at 4:32 AM, Agent Zhang wrote:

Tonight, Audrey implemented the bridge between Pugs' Haskell core and
the Perl 5 module Pugs::Compiler::Rule, thus bringing rules support to
our pugs ``for free''. This is really good news to us. :)

For more than one year, Pugs had required parrot to provide full Perl
6 regexes (rules) support since Pugs didn't have its own grammar
engine. In those early days, parrot's PGE (Parrot Grammar Engine) was
the only choice.

This sounds like good news and excellent work by a lot of people,
but I'm a bit afraid to upgrade, having just started to learn to
work around PGE's idiosyncracies.  Is it still possible to use PGE
for rules support?  How is this controlled?

Also, I just noticed that there's a choice between embedding Parrot
and using Parrot externally (I presume the latter happens if I set
PARROT_PATH without PUGS_EMBED=parrot.)  What functionality
do I lose without an embedded parrot?  Why is an embedded Parrot
not recommended?  Does PUGS_EMBED="parrot perl5" create
any sort of a conflict?

BTW, I'd appreciate more documentation on PUGS_EMBED and
the effect of the -B and -C switches in general, somewhere
along with README and INSTALL in the top-level directory.
I remember being surprised to learn from "pugs --help" that
Pugs, PIL2, and GHC were different backends, and I still don't
understand it.  The documentation should be newer and more
user-oriented than STATUS, and contain references to which portions
of the source tree are involved when you choose a particular
set of options.  README itself would be a good place for it.
sanug++'s pictures were beautiful (maybe too hard to update?),
but there's a bit of reality impedance, and a look at
Perl_6_on_Haskell_is_Pugs.jpg only strengthens my expectation
that the Pugs, PIL2, and GHC backends (maybe even PIL2-YAML)
should be the same.

Thanks!
Christopher

Reply via email to