[Haskell] Announce: category-extras 0.1
Dan Doel
dan.doel at gmail.com
Fri Feb 29 22:26:38 EST 2008
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.1
* 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/
More information about the Haskell
mailing list