|
|
|
|
Synopsis |
|
|
|
Documentation |
|
type DsM result = TcRnIf DsGblEnv DsLclEnv result |
|
mapM :: Monad m => (a -> m b) -> [a] -> m [b] |
mapM f is equivalent to sequence . map f.
|
|
mapAndUnzipM :: Monad m => (a -> m (b, c)) -> [a] -> m ([b], [c]) |
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.
|
|
initDs :: HscEnv -> Module -> GlobalRdrEnv -> TypeEnv -> DsM a -> IO (Messages, Maybe a) |
|
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
|
|
ifOptM :: DynFlag -> TcRnIf gbl lcl () -> TcRnIf gbl lcl () |
Do it flag is true
|
|
class Functor f => Applicative f where |
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 a | Lift a value.
| | (<*>) :: f (a -> b) -> f a -> f b | Sequential application.
| | (*>) :: f a -> f b -> f b | Sequence actions, discarding the value of the first argument.
| | (<*) :: f a -> f b -> f a | Sequence actions, discarding the value of the second argument.
|
|
|
|
(<$>) :: Functor f => (a -> b) -> f a -> f b |
An infix synonym for fmap.
|
|
newLocalName :: Name -> TcRnIf gbl lcl Name |
|
duplicateLocalDs :: Id -> DsM Id |
|
newSysLocalDs :: Type -> DsM Id |
|
newSysLocalsDs :: [Type] -> DsM [Id] |
|
newUniqueId :: Name -> Type -> DsM Id |
|
newFailLocalDs :: Type -> DsM Id |
|
newPredVarDs :: PredType -> DsM Var |
|
getSrcSpanDs :: DsM SrcSpan |
|
putSrcSpanDs :: SrcSpan -> DsM a -> DsM a |
|
getModuleDs :: DsM Module |
|
newUnique :: TcRnIf gbl lcl Unique |
|
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.
|
|
|
newUniqueSupply :: TcRnIf gbl lcl UniqSupply |
|
getDOptsDs :: DsM DynFlags |
|
getGhcModeDs :: DsM GhcMode |
|
doptDs :: DynFlag -> TcRnIf gbl lcl Bool |
|
dsLookupGlobal :: Name -> DsM TyThing |
|
dsLookupGlobalId :: Name -> DsM Id |
|
dsLookupTyCon :: Name -> DsM TyCon |
|
dsLookupDataCon :: Name -> DsM DataCon |
|
dsLookupClass :: Name -> DsM Class |
|
type DsMetaEnv = NameEnv DsMetaVal |
|
data DsMetaVal |
|
|
dsLookupMetaEnv :: Name -> DsM (Maybe DsMetaVal) |
|
dsExtendMetaEnv :: DsMetaEnv -> DsM a -> DsM a |
|
type DsWarning = (SrcSpan, SDoc) |
|
warnDs :: SDoc -> DsM () |
|
failWithDs :: SDoc -> DsM a |
|
data DsMatchContext |
|
|
data EquationInfo |
|
|
data MatchResult |
|
|
type DsWrapper = CoreExpr -> CoreExpr |
|
idDsWrapper :: DsWrapper |
|
data CanItFail |
|
|
orFail :: CanItFail -> CanItFail -> CanItFail |
|
Produced by Haddock version 2.6.1 |