On Thu, Oct 14, 2010 at 11:50 PM, Christophe Henry <christophe.j.henry@googlemail.com> wrote:
> I'm attaching the beginnings of a Phoenix implementation that is built
> using this technique. It is obviously just a shell. No nice actor
> wrappers or anything. This is just to demonstrate that the technique
> works. It builds an extensible core, handles placeholders, terminals
> (including reference_wrapped terminals), and if_/then_/else_ built as an
> extension to the core.
>
> Comments?

Oh yes sure.
1. Why to break my head so early in the morning (for me)? :)

:-D
 
2. Seriously, I'm not sure I understood it completely but it looks
exactly like what I was looking for. IIUC, I can use this to describe
the rules of a common grammar (not just terminals) and then use
different transforms for different end results.

That's the intention, yes.
 
This could solve the
issue I talked about at the BoostCon, the impossibility to fit eUML
inside phoenix,

I don't remember the specifics of what you were trying to do.
 
and for a few new ideas I have in mind.
Now this starts becoming interesting (why did it take so long to come
here?).

I've kicked around ideas like this before, but I've always been somewhat dissatisfied by the results. It's SO verbose. Then again, I've never had to write (a) a non-trivial grammar that (b) was openly extensible and (c) needed pluggable transforms.

As soon as I finish the urgent MSM tasks waiting for action,
I'll give it a try.

Again cool stuff, thanks :)

If you play around with it, let us know how it goes,

Eric