
Hello everyone, While fooling about with generalized tries a night or two ago, I found myself once again interacting with fixed points of shape functors and the like, and so decided it was time to finish cabalizing David Menendez' excellent category theory inspired modules.[1] So, it is my pleasure to announce version 0.1 of category-extras. This is an initial import of the code, with only what work it took to get things compiling properly. As such, some of the documentation is a bit scanty, and there is some overlap with other packages (notably, TypeCompose, off the top of my head), but I hope to rectify that later. Notable bits include: * Control.Comonad * Control.Comonad.Context -- the state-in-context monad * Control.Functor.Adjunction -- a class for adjoint functors, and their associated (co)monads * Control.Recursion -- Various generalized recursion operators (cata/zygo/histo/apomorphisms) -- A class for associating fixpoint data types to their shape functors Also included are some Data.* modules with some comonadic data types (infinite trees and streams, for instance), but they are in the as-yet-poorly-documented section of the package. Haddock 2.0 is required to build what documentation there is for Control.Functor.Transform, as it uses type operators. However, the rest should be compatible with earlier versions of haddock. Some modules are portable Haskell98, but many use various extensions (rank-2 types and functional dependencies being the most common). Links: * hackage: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/category-extras-0... * darcs: http://code.haskell.org/~dolio/category-extras/ If you identify any issues with the package, or simply have some wild category theoretic abstractions that you think should be made available to Haskell programmers at large, feel free let me know. -- Dan Doel [1] The original home of these modules is here: http://www.eyrie.org/~zednenem/2004/hsce/