[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
instance.
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!).
http://www-ps.informatik.uni-kiel.de/~sebf/pub/atps09.html
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
computations.
I have updated my package level-monad to use your library and monoids:
http://hackage.haskell.org/package/level-monad
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 ;)
Sebastian
--
Underestimating the novelty of the future is a time-honored tradition.
(D.G.)
More information about the Haskell-Cafe
mailing list