#2309: containers: specialize functions that fail in a Monad to Maybe

Spencer Janssen sjanssen at cse.unl.edu
Mon May 26 16:08:01 EDT 2008


On Sun, May 25, 2008 at 01:28:45PM +0100, Neil Mitchell wrote:
> Hi
> 
> >> If mzero, there's less gained over Maybe, but still no guarantee of
> >> safety.
> >
> > If a program has a safety problem with mzero, that anyway
> > needs to be detected. So I don't think that will have an
> > effect on overall program safety, it's an orthogonal safety
> > concern.
> 
> I don't think this is the case.
> 
> mzero vs. Nothing
> 
> One doesn't crash, the other may crash depending on what is floating
> around. Perhaps I've used type inference extensively, and the actual
> decision of what mzero means is 10 functions  away. Now its really
> hard to see the program is safe, versus not.

Can you name a single instance of MonadPlus in the standard libraries where
mzero uses error or undefined?  The closest example I can think of is the
instance for IO which throws an exception, but this really isn't the same as
crashing.


Cheers,
Spencer Janssen


More information about the Libraries mailing list