develooper 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


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About