Front page | perl.perl6.compiler |
Postings from September 2006
Re: PCR replaces PGE in Pugs
Thread Previous
From:
Christopher D. Malon
Date:
September 17, 2006 19:48
Subject:
Re: PCR replaces PGE in Pugs
Message ID:
8000CEE0-F32D-47E2-BD9D-D459B28FBD2F@mit.edu
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
Thread Previous