On Friday 28 May 2010 20:44:20, Donn Cave wrote:
> Quoth Vo Minh Thu <not...@gmail.com>,
> ...
>
> > Control.Monad.Error provides an instance for Either.
>
> ... in the mtl transformer library, in case anyone else besides
> myself didn't know that. And I see it has to be there because
> it depends on the Error typeclass.

Which is considered a wart by some. (Either left) has a perfectly valid 
Monad instance for any type left (the only slightly difficult thing might 
be 'fail').

>
> (So the documentation for Control.Monad.Error, is mistaken, where
> at the top it says
>
>   Example type:
>       Either String a
>
> ... which should be
>
>       Either Error a
>
> ... ?

No, String is an instance of Error, so (Either String) is fine.

> Though I can't really be sure what the documentation is
> trying to say.)
>

In that case, have a look at the code, perhaps that is clearer. (And bug 
the maintainer(s) to improve the docs.)

>
>       Donn Cave, d...@avvanta.com
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to