{-# OPTIONS #-} ---------------------------------------------------------------------- -- | -- Module : Control.Instances -- Copyright : (c) Conal Elliott 2007 -- License : LGPL -- -- Maintainer : conal@conal.net -- Stability : experimental -- Portability : portable -- -- Some (orphan) instances that belong elsewhere (where they wouldn't be orphans). -- Add the following line to get these instances -- -- > import Control.Instances () -- ---------------------------------------------------------------------- module Control.Instances () where import Data.Monoid import Control.Applicative import Control.Monad.Reader import Control.Monad -- Standard instance: Applicative functor applied to monoid instance Monoid a => Monoid (IO a) where { mempty = pure mempty; mappend = (*>) } -- standard Applicative instance for Monad instance Monad m => Applicative (ReaderT r m) where { pure = return; (<*>) = ap }