[ bsd3, control, library, monads ] [ Propose Tags ]

Free monads are useful for many tree-like structures and domain specific languages.

A Monad n is a free Monad for f if every Monad homomorphism from n to another monad m is equivalent to a natural transformation from f to m.

Cofree comonads provide convenient ways to talk about branching streams and rose-trees, and can be used to annotate syntax trees.

A Comonad v is a cofree Comonad for f if every Comonad homomorphism another comonad w to v is equivalent to a natural transformation from w to f.

## Modules

[Index]

• Control

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

#### Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

[back to package description]

# free

This package provides a common definitions for working with free monads, free applicatives, and cofree comonads in Haskell.

## Contact Information

Contributions and bug reports are welcome!

Please feel free to contact me through github or on the #haskell IRC channel on irc.freenode.net.

-Edward Kmett