-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Neil Mitchell wrote: > Hi, > > I am pleased to announce Uniplate (formerly known as Play), a library > for boilerplate removal requiring only Haskell 98 (for normal use) and > optionally multi-parameter type classes (for more advanced features). > This library has been tested with Yhc, Hugs and GHC. > > The Uniplate library can do some of the same things as Scrap Your > Boilerplate (SYB), and has functions that can be used in a similar > manner to everywhere and everything. > > LINKS > > Project home page: http://www-users.cs.york.ac.uk/~ndm/uniplate/ > Hackage release: > http://hackage.haskell.org/cgi-bin/hackage-scripts/package/uniplate-1.0 > Haddock docs: http://www.cs.york.ac.uk/fp/haddock/uniplate/ > Short Manual: http://www.cs.york.ac.uk/fp/darcs/uniplate/uniplate.htm > Draft Paper: > http://www-users.cs.york.ac.uk/~ndm/downloads/draft-uniplate-15_jun_2007.pdf > > > The manual contains a basic overview of some bits of the library, the > paper goes into more detail, but is intended to still be a readable > introduction to the library.
The draft paper feels more readable and up-to-date than the manual. However I have one comment about it. In the section on DERIVE for Uniplate instances, the type appearing directly in one of its own constructors is demonstrated being recognized, as is the type appearing in a list in one of its own constructors. But no mention is made of just what powers the deriving has. I presume lists are a special case (how else would it be possible), but a naive reading gives no particular reason to suspect that the type in a Data.Map or Data.Set or any other collection, in one of its own constructors, would not be allowed. Also is there any restriction on the placement of lists in the constructor? I can't see how data Foo = CFoo Foo [Foo] Foo [Foo] Foo could be translated. Does putting the list somewhere other than last work? Isaac -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGdyHsHgcxvIWYTTURAiWuAKCUKf7aGf1rO58gcgxYkqbO7oKNCwCfTRpo 0UsQHx9riP+cZ/S/gloAy3g= =cAxY -----END PGP SIGNATURE----- _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe