
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:
http://citeseer.ist.psu.edu/hinze01web.html
Is this better alternative to Zipper? Have someone better experience with it?
Regards,
Krasimir
On 5/23/08, Jules Bean
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