{-# LANGUAGE CPP #-} {-# LANGUAGE ConstraintKinds #-} module Foundation.Monad.MonadIO ( MonadIO(..) ) where #if MIN_VERSION_base(4,9,0) import Control.Monad.IO.Class #else import Basement.Compat.Base import Basement.Compat.AMP -- | Monads in which 'IO' computations may be embedded. class AMPMonad m => MonadIO m where -- | Lift a computation from the 'IO' monad. liftIO :: IO a -> m a instance MonadIO IO where liftIO io = io #endif