Safe Haskell | None |
---|---|
Language | Haskell98 |
Utility functions for constructing Core syntax, principally for desugaring
Documentation
firstPat :: EquationInfo -> Pat Id Source
shiftEqns :: [EquationInfo] -> [EquationInfo] Source
data MatchResult Source
MkCaseAlt | |
|
extractMatchResult :: MatchResult -> CoreExpr -> DsM CoreExpr Source
adjustMatchResultDs :: (CoreExpr -> DsM CoreExpr) -> MatchResult -> MatchResult Source
mkViewMatchResult :: Id -> CoreExpr -> Id -> MatchResult -> MatchResult Source
matchCanFail :: MatchResult -> Bool Source
mkEvalMatchResult :: Id -> Type -> MatchResult -> MatchResult Source
mkCoPrimCaseMatchResult :: Id -> Type -> [(Literal, MatchResult)] -> MatchResult Source
mkCoAlgCaseMatchResult :: DynFlags -> Id -> Type -> [CaseAlt DataCon] -> MatchResult Source
mkCoSynCaseMatchResult :: Id -> Type -> CaseAlt PatSyn -> MatchResult Source
mkCoreAppDs :: CoreExpr -> CoreExpr -> CoreExpr Source
mkCoreAppsDs :: CoreExpr -> [CoreExpr] -> CoreExpr Source
mkLHsVarPatTup :: [Id] -> LPat Id Source
mkBigLHsVarTup :: [Id] -> LHsExpr Id Source
mkBigLHsVarPatTup :: [Id] -> LPat Id Source