úαF     non-portable experimental%Andy Sonnenburg <andy22286@gmail.com> Safe-InferredJThe strategy of combining computations that can handle thrown exceptions, <as well as throwing exceptions in the original computation. PIs parameterized over the type of error information and the original monad type Oconstructor, as well as the handler monad type constructor. The handler monad Otype constructor commonly differs from the original monad type constructor due 2to a change in the type of the error information. KA handler function to handle thrown values and return to normal execution.  A common idiom is:  2 do { action1; action2; action3 } `catch` handler  where the action functions can call  .  Note that handler2 and the do-block must have the same return type. BThe strategy of combining computations that can throw exceptions. GIs parameterized over the type of error information and the monad type "constructor. It is common to use   String. In some cases you will have to define an instance of   , though rarely a definition of   HIs used within a monadic computation to begin exception processing. If  (  e n,   t) => t n ~ m, then   =      is the default definition. .Map the thrown value using the given function +  !"#$%&'()*+,-.   %   !"#$%&'()*+,-./      !"#$%&'()*+,-./0123456catch-fd-0.1.0.2Control.Monad.CatchWrappedMonadCatchWrapMonadCatchunwrapMonadCatchWrappedMonadErrorWrapMonadErrorunwrapMonadError MonadError MonadCatchcatch MonadThrowthrowmapEbase Data.EitherEithertransformers-0.3.0.0Control.Monad.Trans.Class MonadTransliftGHC.Base.$fMonadErroreWrappedMonadCatch$fMonadWrappedMonadCatch/$fMonadCatcheWrappedMonadErrorWrappedMonadError$fMonadThroweWrappedMonadError$fMonadWrappedMonadError$fMonadCatcheWriterTWriterT$fMonadThroweWriterT$fMonadCatcheWriterTWriterT0$fMonadThroweWriterT0$fMonadCatcheStateTStateT$fMonadThroweStateT$fMonadCatcheStateTStateT0$fMonadThroweStateT0$fMonadCatcheRWSTRWST$fMonadThroweRWST$fMonadCatcheRWSTRWST0$fMonadThroweRWST0$fMonadCatcheReaderTReaderT$fMonadThroweReaderT$fMonadCatcheMaybeTMaybeT$fMonadThroweMaybeT$fMonadCatcheListTListT$fMonadThroweListT$fMonadCatcheIdentityTIdentityT$fMonadThroweIdentityT$fMonadCatcheErrorTErrorT$fMonadThroweErrorT$fMonadCatcheEitherEither$fMonadThroweEither$fMonadCatchIOExceptionIOIO$fMonadThrowIOExceptionIO