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.
Thanks! 2011/1/26 Tillmann Rendel <ren...@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@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > -- Ozgur Akgun
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe