[Haskell-cafe] 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-Cafe mailing list