[Haskell-cafe] combined parsing & pretty-printing

Ozgur Akgun ozgurakgun at gmail.com
Wed Jan 26 22:02:57 CET 2011

Thanks for all the suggestions, and the great work by Tillmann. I'll have a
look into the paper and the code, and try to see if it suits my needs.


2011/1/26 Tillmann Rendel <rendel at informatik.uni-marburg.de>

> Hi Ozgur,
> Ozgur Akgun wrote:
>> I can write (separately) a parser and a pretty-printer [...]
>> Is there any work to combine the two?
> Brent Yorgey wrote:
>> Maybe take a look at "Invertible Syntax Descriptions: Unifying Parsing
>> and Pretty Printing" by Tillmann Rendel and Klaus Ostermann from last
>> year's Haskell Symposium:
>>   http://www.informatik.uni-marburg.de/~rendel/unparse/
>> It's a beautiful paper, and perhaps the code will work for you
>> (although it's too bad it's not on Hackage).
> Indeed, I started this project for exactly the reason Ozgur describes: I
> needed to duplicate a lot of information between parsers and pretty printers
> and was annoyed about it. With invertible syntax descriptions, I now write a
> single program, which looks like a combinator parser (think "Parsec"), but
> can work as a pretty printer, too.
> I just uploaded the code from the paper (and some additional combinators)
> to Hackage:
>  http://hackage.haskell.org/package/partial-isomorphisms
>  http://hackage.haskell.org/package/invertible-syntax
> I use this code for the implementation of some very small languages (think
> "lambda calculus"). This works fine.
> I haven't really tried it for larger languages, but we have two students
> here in Marburg implementing a parser for Java using the library, so we are
> going to have experience with larger languages in a few weeks (months?).
> If you give it a try, I would be happy to receive success stories, bug
> reports, patches, feature requests etc. I want to keep working on this, and
> I am open for suggestions.
>  Tillmann
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe

Ozgur Akgun
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110126/f86a9664/attachment.htm>

More information about the Haskell-Cafe mailing list