
On Wed, Dec 30, 2009 at 5:52 PM, Edward Z. Yang
Hello all,
I am currently playing with the new cadre of failure libraries, and I'm trying to figure out how to use the monadic version of Failure while also getting the Try typeclass, which appears to be the standardized mechanism for marshalling values from specific monads into the failure monad. Unfortunately, it only seems to be defined when I import Control.Failure, and this module is fairly incompatible with Control.Monad.Failure, as demonstrated by this GHCI transcript:
ezyang@javelin:~/Documents/tmr$ ghci Prelude> :m +Control.Failure Prelude Control.Failure> :m +Control.Monad.Failure Prelude Control.Failure Control.Monad.Failure> :t failure
<interactive>:1:0: Ambiguous occurrence `failure' It could refer to either `Control.Failure.failure', imported from Control.Failure or `Control.Monad.Failure.failure', imported from Control.Monad.Failure
I'm using MTL, which might be the reason why there's all sorts of unhappiness. :-)
Cheers, Edward _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Why are you importing both Control.Failure and Control.Monad.Failure when the latter just re-exports the former? Are you using the latest versions of the two packages? Try importing just Control.Monad.Failure.MTL; that provides the MTL failure instances and also re-exports Control.Failure. Alex