lio-0.11.6.0: LIO/Monad.hs
{-# LANGUAGE Trustworthy #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE FlexibleInstances #-}
module LIO.Monad (
MonadLIO(..)
) where
import safe LIO.Label
import LIO.TCB
-- | Synonym for monad in which 'LIO' is the base monad.
class (Label l, Monad m) => MonadLIO l m | m -> l where
-- | Lift an 'LIO' computation.
liftLIO :: LIO l a -> m a
instance Label l => MonadLIO l (LIO l) where
liftLIO = id