[Haskell] Compositional Compiler Construction, Oberon0 examples available

Heinrich Apfelmus apfelmus at quantentunnel.de
Tue Aug 21 13:46:25 CEST 2012

Doaitse Swierstra wrote:
> Heinrich Apfelmus wrote:
>> I have a small question: Last I remember, you've mainly been using
>> your UUAGC preprocessor to write attribute grammars in Haskell,
>> especially for UHC. Now that you have first-class attribute
>> grammars in Haskell ("achievement unlocked"), what do you intend to
>> do with the preprocessor? How do these two approaches compare at
>> the moment and where would you like to take them?
> On the page http://www.cs.uu.nl/wiki/bin/view/Center/CoCoCo there is
> a link (http://www.fing.edu.uy/~mviera/papers/VSM12.pdf) to a paper
> we presented at LDTA (one of the ETAPS events) this spring. It
> explains how UUAGC can be used to generate first class compiler
> modules.
> We have also a facility for grouping attributes, so one can trade
> flexibility for speed. The first class approach stores list of
> attributes as nested cartesian products, access to which a clever
> compiler might be able to optimize. This however would correspond  a
> form of specialisation, so you can hardly say that we have really
> independent modules; as always global optimisation is never
> compositional). From the point of view of the first class approach
> such grouped non-termionals are seen as a single composite
> non-terminal.

Ah, I see. So the custom syntax offered by UUAGC is still appreciated, 
but you now intend to compile it to first-class attribute grammars 
instead of "bare metal Haskell". Makes sense. Thanks!

Best regards,
Heinrich Apfelmus


More information about the Haskell mailing list