diff --git a/src/Control/Dangerous/Extensions.hs b/src/Control/Dangerous/Extensions.hs new file mode 100644 index 0000000..f9c0b18 --- /dev/null +++ b/src/Control/Dangerous/Extensions.hs @@ -0,0 +1,30 @@ +-- This is the land of the orphans, so NO WHINING +{-# OPTIONS_GHC -fno-warn-orphans #-} +module Control.Dangerous.Extensions where +import Prelude hiding ( log ) +import Control.Dangerous +import Control.Monad.Cont +import Control.Monad.Maybe +import Control.Monad.Reader +import Control.Monad.State +import Control.Monad.Writer + +instance (Errorable m) => Errorable (ContT s m) where + log = lift . log + exit = lift . exit + +instance (Errorable m) => Errorable (MaybeT m) where + log = lift . log + exit = lift . exit + +instance (Monoid s, Errorable m) => Errorable (WriterT s m) where + log = lift . log + exit = lift . exit + +instance (Errorable m) => Errorable (ReaderT s m) where + log = lift . log + exit = lift . exit + +instance (Errorable m) => Errorable (StateT s m) where + log = lift . log + exit = lift . exit