[Haskell-cafe] ANNOUNCE fmlist

Sebastian Fischer sebf at informatik.uni-kiel.de
Fri Jun 19 11:06:20 EDT 2009

On Jun 18, 2009, at 9:57 AM, Sjoerd Visscher wrote:

> This is my first package on Hackage, so any comments are welcome!

It is not only pleasingly elegant but also quite useful:

Your Monad and MonadPlus instances lead me to an interesting  
observation. Various strategies for non-deterministic search can be  
implemented using FMList by expressing failure and choice via a Monoid  

I have just finished a revision of a paper that explains how to factor  
two-continuation based backtracking (and other strategies) into a  
continuation monad transformer and a type class for non-deterministic  
computations (I'd be glad to receive comments!).


Now I recognise that one can also use FMList as the part that provides  
return and >>= and any Monoid for failure and choice.

Especially, one can implement breadth-first search (bfs) using a  
monoid that collects levels of a search tree and iterative deepening  
depth-first search (idfs) using a monoid that represents depth-bounded  

I have updated my package level-monad to use your library and monoids:


The employed Monoid instances do not satisfy any monoid law. However,  
these are the simplest implementations of bfs and idfs that I am aware  
of, so I don't care very much ;)


Underestimating the novelty of the future is a time-honored tradition.

More information about the Haskell-Cafe mailing list