monad-classes-0.3.1.0: Control/Monad/Classes.hs
module Control.Monad.Classes
( -- * State
MonadState
, state
, get
, put
, modify
, modify'
, gets
-- * Reader
, MonadReader
, MonadLocal
, ask
, local
-- * Writer
, MonadWriter
, tell
-- * Exceptions
, MonadExcept
, throw
-- * Exec
, MonadExec
, exec
-- * Core classes and types
-- ** Generic lifting
, MonadLiftN(..)
-- ** Effects
, module Control.Monad.Classes.Effects
-- ** N-classes
, Peano(..)
, MonadStateN(..)
, MonadReaderN(..)
, MonadLocalN(..)
, MonadWriterN(..)
, MonadExceptN(..)
, MonadExecN(..)
-- ** Type families
-- | You should rarely need these. They are exported mostly for
-- documentation and pedagogical purposes.
, Find
, FindTrue
, MapCanDo
, CanDo
) where
import Control.Monad.Classes.Effects
import Control.Monad.Classes.Core
import Control.Monad.Classes.State
import Control.Monad.Classes.Reader
import Control.Monad.Classes.Writer
import Control.Monad.Classes.Except
import Control.Monad.Classes.Exec
import Data.Peano (Peano (..))