foundation-0.0.29: Alternative prelude with batteries and no dependencies
Safe HaskellSafe-Inferred
LanguageHaskell2010

Foundation.Monad

Synopsis

Documentation

class Monad m => MonadIO (m :: Type -> Type) where #

Methods

liftIO :: IO a -> m a #

Instances

Instances details
MonadIO IO 
Instance details

Defined in Control.Monad.IO.Class

Methods

liftIO :: IO a -> IO a #

MonadIO m => MonadIO (ResourceT m) Source # 
Instance details

Defined in Foundation.Conduit.Internal

Methods

liftIO :: IO a -> ResourceT m a #

MonadIO m => MonadIO (ExceptT e m) Source # 
Instance details

Defined in Foundation.Monad.Except

Methods

liftIO :: IO a -> ExceptT e m a #

MonadIO m => MonadIO (ReaderT r m) Source # 
Instance details

Defined in Foundation.Monad.Reader

Methods

liftIO :: IO a -> ReaderT r m a #

(Functor m, MonadIO m) => MonadIO (StateT s m) Source # 
Instance details

Defined in Foundation.Monad.State

Methods

liftIO :: IO a -> StateT s m a #

MonadIO m => MonadIO (Conduit i o m) Source # 
Instance details

Defined in Foundation.Conduit.Internal

Methods

liftIO :: IO a -> Conduit i o m a #

class Monad m => MonadFailure (m :: Type -> Type) where #

Associated Types

type Failure (m :: Type -> Type) #

Methods

mFail :: Failure m -> m () #

Instances

Instances details
MonadFailure Maybe 
Instance details

Defined in Basement.Monad

Associated Types

type Failure Maybe #

Methods

mFail :: Failure Maybe -> Maybe () #

MonadFailure (Either a) 
Instance details

Defined in Basement.Monad

Associated Types

type Failure (Either a) #

Methods

mFail :: Failure (Either a) -> Either a () #

Monad m => MonadFailure (ExceptT e m) Source # 
Instance details

Defined in Foundation.Monad.Except

Associated Types

type Failure (ExceptT e m) #

Methods

mFail :: Failure (ExceptT e m) -> ExceptT e m () #

MonadFailure m => MonadFailure (ReaderT r m) Source # 
Instance details

Defined in Foundation.Monad.Reader

Associated Types

type Failure (ReaderT r m) #

Methods

mFail :: Failure (ReaderT r m) -> ReaderT r m () #

(Functor m, MonadFailure m) => MonadFailure (StateT s m) Source # 
Instance details

Defined in Foundation.Monad.State

Associated Types

type Failure (StateT s m) #

Methods

mFail :: Failure (StateT s m) -> StateT s m () #

MonadFailure m => MonadFailure (Conduit i o m) Source # 
Instance details

Defined in Foundation.Conduit.Internal

Associated Types

type Failure (Conduit i o m) #

Methods

mFail :: Failure (Conduit i o m) -> Conduit i o m () #

Monad state => MonadFailure (Builder collection mutCollection step state err) 
Instance details

Defined in Basement.MutableBuilder

Associated Types

type Failure (Builder collection mutCollection step state err) #

Methods

mFail :: Failure (Builder collection mutCollection step state err) -> Builder collection mutCollection step state err () #

class Monad m => MonadThrow m where Source #

Monad that can throw exception

Methods

throw :: Exception e => e -> m a Source #

Throw immediatity an exception. Only a MonadCatch monad will be able to catch the exception using catch

Instances

Instances details
MonadThrow IO Source # 
Instance details

Defined in Foundation.Monad.Exception

Methods

throw :: Exception e => e -> IO a Source #

MonadThrow m => MonadThrow (ResourceT m) Source # 
Instance details

Defined in Foundation.Conduit.Internal

Methods

throw :: Exception e => e -> ResourceT m a Source #

MonadThrow m => MonadThrow (ReaderT r m) Source # 
Instance details

Defined in Foundation.Monad.Reader

Methods

throw :: Exception e => e -> ReaderT r m a Source #

(Functor m, MonadThrow m) => MonadThrow (StateT s m) Source # 
Instance details

Defined in Foundation.Monad.State

Methods

throw :: Exception e => e -> StateT s m a Source #

MonadThrow m => MonadThrow (Conduit i o m) Source # 
Instance details

Defined in Foundation.Conduit.Internal

Methods

throw :: Exception e => e -> Conduit i o m a Source #

class MonadThrow m => MonadCatch m where Source #

Monad that can catch exception

Methods

catch :: Exception e => m a -> (e -> m a) -> m a Source #

Instances

Instances details
MonadCatch IO Source # 
Instance details

Defined in Foundation.Monad.Exception

Methods

catch :: Exception e => IO a -> (e -> IO a) -> IO a Source #

MonadCatch m => MonadCatch (ResourceT m) Source # 
Instance details

Defined in Foundation.Conduit.Internal

Methods

catch :: Exception e => ResourceT m a -> (e -> ResourceT m a) -> ResourceT m a Source #

MonadCatch m => MonadCatch (ReaderT r m) Source # 
Instance details

Defined in Foundation.Monad.Reader

Methods

catch :: Exception e => ReaderT r m a -> (e -> ReaderT r m a) -> ReaderT r m a Source #

(Functor m, MonadCatch m) => MonadCatch (StateT s m) Source # 
Instance details

Defined in Foundation.Monad.State

Methods

catch :: Exception e => StateT s m a -> (e -> StateT s m a) -> StateT s m a Source #

MonadCatch m => MonadCatch (Conduit i o m) Source # 
Instance details

Defined in Foundation.Conduit.Internal

Methods

catch :: Exception e => Conduit i o m a -> (e -> Conduit i o m a) -> Conduit i o m a Source #

class MonadCatch m => MonadBracket m where Source #

Monad that can ensure cleanup actions are performed even in the case of exceptions, both synchronous and asynchronous. This usually excludes continuation-based monads.

Methods

generalBracket Source #

Arguments

:: m a

acquire some resource

-> (a -> b -> m ignored1)

cleanup, no exception thrown

-> (a -> SomeException -> m ignored2)

cleanup, some exception thrown. The exception will be rethrown

-> (a -> m b)

inner action to perform with the resource

-> m b 

A generalized version of the standard bracket function which allows distinguishing different exit cases.

Instances

Instances details
MonadBracket IO Source # 
Instance details

Defined in Foundation.Monad.Exception

Methods

generalBracket :: IO a -> (a -> b -> IO ignored1) -> (a -> SomeException -> IO ignored2) -> (a -> IO b) -> IO b Source #

MonadBracket m => MonadBracket (ResourceT m) Source # 
Instance details

Defined in Foundation.Conduit.Internal

Methods

generalBracket :: ResourceT m a -> (a -> b -> ResourceT m ignored1) -> (a -> SomeException -> ResourceT m ignored2) -> (a -> ResourceT m b) -> ResourceT m b Source #

MonadBracket m => MonadBracket (ReaderT r m) Source # 
Instance details

Defined in Foundation.Monad.Reader

Methods

generalBracket :: ReaderT r m a -> (a -> b -> ReaderT r m ignored1) -> (a -> SomeException -> ReaderT r m ignored2) -> (a -> ReaderT r m b) -> ReaderT r m b Source #

class MonadTrans trans where Source #

Basic Transformer class

Methods

lift :: Monad m => m a -> trans m a Source #

Lift a computation from an inner monad to the current transformer monad

Instances

Instances details
MonadTrans ResourceT Source # 
Instance details

Defined in Foundation.Conduit.Internal

Methods

lift :: Monad m => m a -> ResourceT m a Source #

MonadTrans (ExceptT e) Source # 
Instance details

Defined in Foundation.Monad.Except

Methods

lift :: Monad m => m a -> ExceptT e m a Source #

MonadTrans (ReaderT r) Source # 
Instance details

Defined in Foundation.Monad.Reader

Methods

lift :: Monad m => m a -> ReaderT r m a Source #

MonadTrans (StateT s) Source # 
Instance details

Defined in Foundation.Monad.State

Methods

lift :: Monad m => m a -> StateT s m a Source #

MonadTrans (Conduit i o) Source # 
Instance details

Defined in Foundation.Conduit.Internal

Methods

lift :: Monad m => m a -> Conduit i o m a Source #

newtype Identity a #

Constructors

Identity 

Fields

Instances

Instances details
MonadFix Identity 
Instance details

Defined in Data.Functor.Identity

Methods

mfix :: (a -> Identity a) -> Identity a

Foldable Identity 
Instance details

Defined in Data.Functor.Identity

Methods

fold :: Monoid m => Identity m -> m

foldMap :: Monoid m => (a -> m) -> Identity a -> m

foldMap' :: Monoid m => (a -> m) -> Identity a -> m

foldr :: (a -> b -> b) -> b -> Identity a -> b

foldr' :: (a -> b -> b) -> b -> Identity a -> b

foldl :: (b -> a -> b) -> b -> Identity a -> b

foldl' :: (b -> a -> b) -> b -> Identity a -> b

foldr1 :: (a -> a -> a) -> Identity a -> a

foldl1 :: (a -> a -> a) -> Identity a -> a

toList :: Identity a -> [a]

null :: Identity a -> Bool

length :: Identity a -> Int

elem :: Eq a => a -> Identity a -> Bool

maximum :: Ord a => Identity a -> a

minimum :: Ord a => Identity a -> a

sum :: Num a => Identity a -> a

product :: Num a => Identity a -> a

Traversable Identity 
Instance details

Defined in Data.Traversable

Methods

traverse :: Applicative f => (a -> f b) -> Identity a -> f (Identity b)

sequenceA :: Applicative f => Identity (f a) -> f (Identity a)

mapM :: Monad m => (a -> m b) -> Identity a -> m (Identity b)

sequence :: Monad m => Identity (m a) -> m (Identity a)

Applicative Identity 
Instance details

Defined in Data.Functor.Identity

Methods

pure :: a -> Identity a #

(<*>) :: Identity (a -> b) -> Identity a -> Identity b #

liftA2 :: (a -> b -> c) -> Identity a -> Identity b -> Identity c #

(*>) :: Identity a -> Identity b -> Identity b #

(<*) :: Identity a -> Identity b -> Identity a #

Functor Identity 
Instance details

Defined in Data.Functor.Identity

Methods

fmap :: (a -> b) -> Identity a -> Identity b #

(<$) :: a -> Identity b -> Identity a #

Monad Identity 
Instance details

Defined in Data.Functor.Identity

Methods

(>>=) :: Identity a -> (a -> Identity b) -> Identity b #

(>>) :: Identity a -> Identity b -> Identity b #

return :: a -> Identity a #

Generic1 Identity 
Instance details

Defined in Data.Functor.Identity

Associated Types

type Rep1 Identity :: k -> Type

Methods

from1 :: forall (a :: k). Identity a -> Rep1 Identity a

to1 :: forall (a :: k). Rep1 Identity a -> Identity a

Data a => Data (Identity a) 
Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Identity a -> c (Identity a)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Identity a)

toConstr :: Identity a -> Constr

dataTypeOf :: Identity a -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Identity a))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Identity a))

gmapT :: (forall b. Data b => b -> b) -> Identity a -> Identity a

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Identity a -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Identity a -> r

gmapQ :: (forall d. Data d => d -> u) -> Identity a -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Identity a -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Identity a -> m (Identity a)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Identity a -> m (Identity a)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Identity a -> m (Identity a)

IsString a => IsString (Identity a) 
Instance details

Defined in Data.String

Methods

fromString :: String -> Identity a #

Storable a => Storable (Identity a) 
Instance details

Defined in Data.Functor.Identity

Methods

sizeOf :: Identity a -> Int

alignment :: Identity a -> Int

peekElemOff :: Ptr (Identity a) -> Int -> IO (Identity a)

pokeElemOff :: Ptr (Identity a) -> Int -> Identity a -> IO ()

peekByteOff :: Ptr b -> Int -> IO (Identity a)

pokeByteOff :: Ptr b -> Int -> Identity a -> IO ()

peek :: Ptr (Identity a) -> IO (Identity a)

poke :: Ptr (Identity a) -> Identity a -> IO ()

Monoid a => Monoid (Identity a) 
Instance details

Defined in Data.Functor.Identity

Methods

mempty :: Identity a #

mappend :: Identity a -> Identity a -> Identity a #

mconcat :: [Identity a] -> Identity a #

Semigroup a => Semigroup (Identity a) 
Instance details

Defined in Data.Functor.Identity

Methods

(<>) :: Identity a -> Identity a -> Identity a #

sconcat :: NonEmpty (Identity a) -> Identity a

stimes :: Integral b => b -> Identity a -> Identity a

Bits a => Bits (Identity a) 
Instance details

Defined in Data.Functor.Identity

FiniteBits a => FiniteBits (Identity a) 
Instance details

Defined in Data.Functor.Identity

Bounded a => Bounded (Identity a) 
Instance details

Defined in Data.Functor.Identity

Enum a => Enum (Identity a) 
Instance details

Defined in Data.Functor.Identity

Floating a => Floating (Identity a) 
Instance details

Defined in Data.Functor.Identity

RealFloat a => RealFloat (Identity a) 
Instance details

Defined in Data.Functor.Identity

Generic (Identity a) 
Instance details

Defined in Data.Functor.Identity

Associated Types

type Rep (Identity a) :: Type -> Type

Methods

from :: Identity a -> Rep (Identity a) x

to :: Rep (Identity a) x -> Identity a

Ix a => Ix (Identity a) 
Instance details

Defined in Data.Functor.Identity

Num a => Num (Identity a) 
Instance details

Defined in Data.Functor.Identity

Read a => Read (Identity a) 
Instance details

Defined in Data.Functor.Identity

Methods

readsPrec :: Int -> ReadS (Identity a)

readList :: ReadS [Identity a]

readPrec :: ReadPrec (Identity a)

readListPrec :: ReadPrec [Identity a]

Fractional a => Fractional (Identity a) 
Instance details

Defined in Data.Functor.Identity

Integral a => Integral (Identity a) 
Instance details

Defined in Data.Functor.Identity

Real a => Real (Identity a) 
Instance details

Defined in Data.Functor.Identity

RealFrac a => RealFrac (Identity a) 
Instance details

Defined in Data.Functor.Identity

Methods

properFraction :: Integral b => Identity a -> (b, Identity a)

truncate :: Integral b => Identity a -> b

round :: Integral b => Identity a -> b

ceiling :: Integral b => Identity a -> b

floor :: Integral b => Identity a -> b

Show a => Show (Identity a) 
Instance details

Defined in Data.Functor.Identity

Methods

showsPrec :: Int -> Identity a -> ShowS

show :: Identity a -> String

showList :: [Identity a] -> ShowS

Eq a => Eq (Identity a) 
Instance details

Defined in Data.Functor.Identity

Methods

(==) :: Identity a -> Identity a -> Bool #

(/=) :: Identity a -> Identity a -> Bool #

Ord a => Ord (Identity a) 
Instance details

Defined in Data.Functor.Identity

Methods

compare :: Identity a -> Identity a -> Ordering #

(<) :: Identity a -> Identity a -> Bool #

(<=) :: Identity a -> Identity a -> Bool #

(>) :: Identity a -> Identity a -> Bool #

(>=) :: Identity a -> Identity a -> Bool #

max :: Identity a -> Identity a -> Identity a #

min :: Identity a -> Identity a -> Identity a #

type Rep1 Identity 
Instance details

Defined in Data.Functor.Identity

type Rep1 Identity = D1 ('MetaData "Identity" "Data.Functor.Identity" "base" 'True) (C1 ('MetaCons "Identity" 'PrefixI 'True) (S1 ('MetaSel ('Just "runIdentity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))
type Rep (Identity a) 
Instance details

Defined in Data.Functor.Identity

type Rep (Identity a) = D1 ('MetaData "Identity" "Data.Functor.Identity" "base" 'True) (C1 ('MetaCons "Identity" 'PrefixI 'True) (S1 ('MetaSel ('Just "runIdentity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

replicateM :: Applicative m => CountOf a -> m a -> m [a] Source #

replicateM n act performs the action n times, gathering the results.