Given any functor you can get a monad for free! 

data Free f a = Either a (f (Free f a))

Not sure about unfree, but there are cofree comonads that are pretty closely related, and give you a comonad given a functor:

data Cofree f a = (a, f (Cofree f a))

I'm sure the more categorically minded can tell you way more.

Hope this helps,
Dan

2010/2/27 Günther Schmidt <gue.schmidt@web.de>
Hello,

I see the term "free monad" quite a lot, but don't really see an explanation what a free monad is. What sets a monad free and why in this day and age are there unfree monads?

Günther


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe