[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