regular: Generic programming with fixed points for regular datatypes<br>====================================================================<br><br>Many generic programs require information about the recursive positions<br>

of a datatype. Examples include the generic fold, generic rewriting, and<br>the Zipper data structure. This approach provides a fixed point view on<br>data which allows these definitions for regular datatypes. It can be seen<br>

as a simplification of the Multirec library, which provides similar <br>functionality but for families of (possibly mutually recursive) datatypes.<br><br>This library is the underlying generic representation mechanism in the paper:<br>

  Thomas van Noort, Alexey Rodriguez, Stefan Holdermans, Johan Jeuring, <br>  Bastiaan Heeren. A Lightweight Approach to Datatype-Generic Rewriting. <br>  In Ralf Hinze and Don Syme, editors, Proceedings of the ACM SIGPLAN Workshop <br>

  on Generic Programming, WGP 2008, Victoria, BC, Canada, September 20, 2008, <br>  pages 13–24. ACM Press, 2008.<br><br>More information is available on the webpage: <br><a href="http://www.cs.uu.nl/wiki/bin/view/GenericProgramming/Regular">http://www.cs.uu.nl/wiki/bin/view/GenericProgramming/Regular</a><br>

<br>Features<br>--------<br><br>* A simple library with a fixed point view<br><br>* Includes detailed examples, such as the generic fold<br><br>* Forms the basis for a generic rewriting library:<br>  <a href="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/rewriting">http://hackage.haskell.org/cgi-bin/hackage-scripts/package/rewriting</a><br>

<br>* In its current form, this library does not support nested datatypes. Support <br>  to access parameters of a datatype is limited.<br><br>Requirements<br>------------<br><br>* GHC 6.10.1 or later<br>* Cabal 1.2.1 or later<br>

<br>Download<br>--------<br><br>With cabal-install:<br><br>  cabal install regular<br><br>Get the package:<br><br>  <a href="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/regular">http://hackage.haskell.org/cgi-bin/hackage-scripts/package/regular</a><br>

<br>Get the source:<br><br>  svn checkout <a href="https://subversion.cs.uu.nl/repos/project.dgp-haskell.libraries/regular/">https://subversion.cs.uu.nl/repos/project.dgp-haskell.libraries/regular/</a><br><br>Bugs &amp; Support<br>

--------------<br><br>Report issues, request features, or just discuss the library with the<br>authors, maintainers, and other interested persons at:<br><br>  <a href="http://www.haskell.org/mailman/listinfo/generics">http://www.haskell.org/mailman/listinfo/generics</a><br>

<br><br><br>--------------<br>José Pedro Magalhães<br>Universiteit Utrecht<br>