[Haskell] ANNOUNCE: category-extras 0.2
Dan Doel
dan.doel at gmail.com
Sun Apr 27 22:34:13 EDT 2008
Hello, all.
After quite a bit of collaboration with Edward Kmett over the past few days,
I've rolled up a new release of category-extras. Perhaps the most significant
addition is the generalized hylomorphism he first blogged about here:
http://comonad.com/reader/2008/generalized-hylomorphisms/
added to Control.Recursion under the name 'refoldWith', as all other
combinators in the library turn out to be special cases of it. Other changes
include:
* Data.BranchingStream moves to Control.Comonad.Cofree, and various functions
are renamed accordingly, as it is the cofree comonad of a functor:
Cofree F A = nu X. A * FX
* Similarly, a new module has been added: Control.Monad.Free, the free monad
of a functor.
Free F A = mu X. A + FX
* Several new recursion combinators have been added to Control.Recursion. The
generalized hylomorphism 'refoldWith' was mentioned above, but we now also
have:
- Futumorphisms (futu, g_futu)
- Chronomorphisms (chrono, g_chrono; name coined by edwardk; they're
a combination of a histomorphism and a futumorphism).
- Dynamorphisms (dyna, g_dyna; formalize dynamic programming)
- Codynamorphisms (codyna, g_codyna; these apparently don't appear in any
literature (like chronomorphisms), and we didn't attempt to give them
a name, but once one sees dynamorphisms in terms of chronomorphisms/
g_hylomorphisms, this becomes fairly obvious).
As can be seen, there's quite a glut of these combinators, and they all
correspond to choices of distributive laws for refoldWith, so in the
future, it may be better to talk about those directly. For now, though, we
have lots of functions with fancy-sounding names.
I believe those are the significant updates for this release. Enjoy.
hackage:
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/category-extras-0.2
darcs: darcs get http://code.haskell.org/~dolio/category-extras/
-- Dan
More information about the Haskell
mailing list