-- | -- This module reexports most of the types from the \"transformers\" package. -- Strict variants are provided instead of the lazy variants. -- -- Both 'Data.Functor.Sum' and 'Data.Functor.Product' are left out because -- the names of these data types clash with the commonly used newtypes -- in 'Data.Monoid'. module Prelude.Transformers.Strict.Types ( module E ) where -- Applicatives import Control.Applicative.Backwards as E (Backwards(..)) import Control.Applicative.Lift as E (Lift(..)) -- Typeclasses import Control.Monad.IO.Class as E (MonadIO) import Control.Monad.Trans.Class as E (MonadTrans) -- Transformers import Control.Monad.Trans.Cont as E (ContT(..)) import Control.Monad.Trans.Except as E (Except,ExceptT(..),runExceptT) import Control.Monad.Trans.Identity as E (IdentityT(..)) import Control.Monad.Trans.Maybe as E (MaybeT(..)) import Control.Monad.Trans.RWS.Strict as E (RWS,RWST(..)) import Control.Monad.Trans.Reader as E (Reader,ReaderT(..)) import Control.Monad.Trans.State.Strict as E (State,StateT(..)) import Control.Monad.Trans.Writer.Strict as E (Writer,WriterT(..)) -- Functors import Data.Functor.Classes as E (Eq1,Ord1,Read1,Show1) import Data.Functor.Compose as E (Compose(..)) import Data.Functor.Constant as E (Constant(..)) import Data.Functor.Reverse as E (Reverse(..))