[Haskell-cafe] 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:


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 

 * 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

    - 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.

darcs: darcs get http://code.haskell.org/~dolio/category-extras/

-- Dan

More information about the Haskell-Cafe mailing list