8 Jul 13:31
ANN: Uniplate 1.2
From: Neil Mitchell <ndmitchell <at> gmail.com>
Subject: ANN: Uniplate 1.2
Newsgroups: gmane.comp.lang.haskell.general
Date: 2008-07-08 11:31:14 GMT
Subject: ANN: Uniplate 1.2
Newsgroups: gmane.comp.lang.haskell.general
Date: 2008-07-08 11:31:14 GMT
I am pleased to announce Uniplate 1.2, available from Hackage: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/uniplate Description =========== Uniplate is a library for reducing boilerplate code, by performing generic traversals. For example, given a data type with a Uniplate instance: data Expr = Var String | Add String String | Mul String String | ... instance Uniplate Expr where ... We can write a function to get all the variables in an Expr as: vars x = [v | Var v <- universe x] Additionally, Uniplate can work with the built-in deriving Data/Typeable support in GHC to eliminate the need for writing Uniplate instances. The library is described in Chapter 3 of my thesis (http://www-users.cs.york.ac.uk/~ndm/thesis/), complete with simple examples for most functions. Most Haskell users working with a moderately complex data type, such as an abstract syntax tree, should be using some form of boilerplate removal. Uniplate is used in projects such as Yhc, Hoogle, Reach, Reduceron, Catch, Supero and many others.(Continue reading)
RSS Feed