[Haskell-cafe] Data.Tree.Zipper in the standard libraries

Krasimir Angelov kr.angelov at gmail.com
Fri May 23 07:42:27 EDT 2008

That is annoying. I remember that there were people arguing that Monad
should be used instead of Maybe but I don't remember the reasons.
Personaly I feel quite happy with Maybe and I am using it in my own
code. There should be a consistent approach in the different libraries
or at least in a single package like "containers".

While googling for Zipper I also found this article:


Is this better alternative to Zipper? Have someone better experience with it?


On 5/23/08, Jules Bean <jules at jellybean.co.uk> wrote:
> Krasimir Angelov wrote:
> > The monads design is used in Data.Map i.e.
> >
> > lookup :: (Monad m, Ord k) => k -> Map k a -> m a
> >
> which is widely considered a poor design decision and a wart on Data.Map.
> :-)
> Seriously, if you don't return a useful error message, then Maybe is as good
> as it gets, why not use it?
> (And there really is only one kind of error possible here, in each case)
> 'fail' only adds information in the case it has a useful error message (in
> which case I'd encourage MonadError m =>)
> Jules

More information about the Haskell-Cafe mailing list