{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies #-} ----------------------------------------------------------------------------- -- Module : Control.Monad.RWSX.Class -- Copyright : (c) Mark Snyder 2008. -- License : BSD-style -- Maintainer : Mark Snyder, marks@ittc.ku.edu -- Stability : experimental -- Portability : non-portable (multi-param classes, functional dependencies) ----------------------------------------------------------------------------- module Control.Monad.RWSX.Class ( MonadRWSX, module Control.Monad.Reader.Class, module Control.Monad.State.Class, module Control.Monad.Writer.Class, module Control.Monad.ReaderX.Class, module Control.Monad.StateX.Class, module Control.Monad.WriterX.Class, ) where import Control.Monad.Reader.Class import Control.Monad.State.Class import Control.Monad.Writer.Class import Data.Monoid import Control.Monad.Index import Control.Monad.ReaderX.Class import Control.Monad.StateX.Class import Control.Monad.WriterX.Class class (Monoid w, Index ix, MonadReaderX ix r m, MonadWriterX ix w m, MonadStateX ix s m) => MonadRWSX ix r w s m | ix m -> r, ix m -> w, ix m -> s