
13 Aug
2008
13 Aug
'08
9:51 a.m.
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/Sync... a try. I'm working on it as counter-proposal to the extensible extension proposal. This module defines exceptions without abusing the Either type.