ghc-7.0.1: The GHC API

DsMonad

Synopsis

Documentation

type DsM result = TcRnIf DsGblEnv DsLclEnv result

mapM :: Monad m => (a -> m b) -> [a] -> m [b]Source

mapM f is equivalent to sequence . map f.

mapAndUnzipM :: Monad m => (a -> m (b, c)) -> [a] -> m ([b], [c])Source

The mapAndUnzipM function maps its first argument over a list, returning the result as a pair of lists. This function is mainly used with complicated data structures or a state-transforming monad.

initDsTc :: DsM a -> TcM a

fixDs :: (a -> DsM a) -> DsM a

foldlM :: Monad m => (a -> b -> m a) -> a -> [b] -> m a

Monadic version of foldl

foldrM :: Monad m => (b -> a -> m a) -> a -> [b] -> m a

Monadic version of foldr

ifDOptM :: DynFlag -> TcRnIf gbl lcl () -> TcRnIf gbl lcl ()

Do it flag is true

unsetOptM :: DynFlag -> TcRnIf gbl lcl a -> TcRnIf gbl lcl a

class Functor f => Applicative f whereSource

A functor with application.

Instances should satisfy the following laws:

identity
pure id <*> v = v
composition
pure (.) <*> u <*> v <*> w = u <*> (v <*> w)
homomorphism
pure f <*> pure x = pure (f x)
interchange
u <*> pure y = pure ($ y) <*> u
ignore left value
u *> v = pure (const id) <*> u <*> v
ignore right value
u <* v = pure const <*> u <*> v

The Functor instance should satisfy

      fmap f x = pure f <*> x

If f is also a Monad, define pure = return and (<*>) = ap.

Minimal complete definition: pure and <*>.

Methods

pure :: a -> f aSource

Lift a value.

(<*>) :: f (a -> b) -> f a -> f bSource

Sequential application.

(*>) :: f a -> f b -> f bSource

Sequence actions, discarding the value of the first argument.

(<*) :: f a -> f b -> f aSource

Sequence actions, discarding the value of the second argument.

(<$>) :: Functor f => (a -> b) -> f a -> f bSource

An infix synonym for fmap.

data UniqSupply

A value of type UniqSupply is unique, and it can supply one distinct Unique. Also, from the supply, one can also manufacture an arbitrary number of further UniqueSupply values, which will be distinct from the first and from all others.

doptDs :: DynFlag -> TcRnIf gbl lcl Bool

data DsMetaVal

Constructors

Bound Id 
Splice (HsExpr Id) 

warnDs :: SDoc -> DsM ()

data EquationInfo

Constructors

EqnInfo 

Fields

eqn_pats :: [Pat Id]
 
eqn_rhs :: MatchResult
 

data CanItFail

Constructors

CanFail 
CantFail