On Jul 16, 2009, at 6:18 PM, Yitzchak Gale wrote:
This, and just about all of the other "similar" types mentioned in this thread, are all new names for the venerable "ListT Done Right" that has been around for many years:
http://www.haskell.org/haskellwiki/ListT_done_right
The ListT that is (still, unbelievably) in the mtl package is very broken, and shouldn't be used. It's not even a monad - it doesn't satisfy the monad laws.
So why make up new names? Just call it ListT.
I did call it ListT, although I did place it in the "generator" package. Now I split the package so ListT is in the "List" package (better name - I agree) List: List monad transformer and typeclass. Standard list operations. generator: Python-generator notation for creation of monadic lists.