partial-isomorphisms (hackage): Partial isomorphisms as described in the paper:  Tillmann Rendel and Klaus Ostermann. Invertible Syntax Descriptions: Unifying Parsing and Pretty Printing. In Proc. of Haskell Symposium, 2010.  The paper also describes invertible syntax descriptions as a common interface for parsers and pretty printers. These are distributed separately in the invertible-syntax package.
Keywords: bsd3|control|library