[Haskell-cafe] Re: ``Orphan instances'' should be avoided anyway.

Henning Thielemann lemming at henning-thielemann.de
Wed Aug 13 09:51:56 EDT 2008


On Wed, 13 Aug 2008, Yitzchak Gale wrote:

> Why is it that when I say
>
> import Control.Monad.Error (throwError, runErrorT)
>
> there is no way to prevent also getting a surprising Monad Either
> instance? Never mind how things should have been named
> in Control.Monad.Error - that's the way it is right now. I need to
> be able to import the module without getting the instance.

Indeed, the instances that are imported without request contradict to the 
module concept. In case of Control.Monad.Error I suggest to give
   http://darcs.haskell.org/explicit-exception/src/Control/Monad/Exception/Synchronous.hs
  a try. I'm working on it as counter-proposal to the extensible extension 
proposal. This module defines exceptions without abusing the Either type.


More information about the Haskell-Cafe mailing list