ether-0.2.1.0: src/Control/Ether/Implicit/Abbr.hs
{-# LANGUAGE TypeFamilies #-}
-- | See "Control.Ether.Abbr".
module Control.Ether.Implicit.Abbr (R, W, S, E) where
import Control.Ether.Abbr (ReifyAbbr)
import Control.Monad.Ether.Implicit
-- | Denotes 'MonadReader'.
data R r
type instance ReifyAbbr (R r) m = MonadReader r m
-- | Denotes 'MonadWriter'.
data W w
type instance ReifyAbbr (W w) m = MonadWriter w m
-- | Denotes 'MonadState'.
data S s
type instance ReifyAbbr (S s) m = MonadState s m
-- | Denotes 'MonadExcept'.
data E e
type instance ReifyAbbr (E e) m = MonadExcept e m