[Haskell-cafe] Circular pure data structures?

Stefan Holdermans stefan at cs.uu.nl
Wed Jul 15 02:22:33 EDT 2009


John,

> If I use zippers, do all my nodes need to be the same type?

No, zippers can also be defined for mutually recursive data types. In  
a paper to be presented at ICFP, next September, Alexey Rodriguez,  
Andres Löh, Johan Jeuring, and I show how zippers for mutually  
recursive data types can be derived in Haskell:

   Alexey Rodriguez, Stefan Holdermans, Andres Löh, and Johan Jeuring.  
Generic programming with fixed points for mutually recursive  
datatypes, 2009. To appear in the proceedings of the 14th ACM SIGPLAN  
International Conference on Functional Programming, ICFP 2009,  
Edinburgh, Scotland, August 31–September 2, 2009. http://people.cs.uu.nl/stefan/pubs/rodriguez09generic.html 
  .

An implementation is available on Hackage: http://hackage.haskell.org/package/zipper 
  .

HTH,

   Stefan


More information about the Haskell-Cafe mailing list