| Safe Haskell | Safe-Inferred | 
|---|---|
| Language | Haskell2010 | 
GHC.HsToCore.Match
Synopsis
- match :: [MatchId] -> Type -> [EquationInfo] -> DsM (MatchResult CoreExpr)
- matchEquations :: HsMatchContext GhcRn -> [MatchId] -> [EquationInfo] -> Type -> DsM CoreExpr
- matchWrapper :: HsMatchContext GhcRn -> Maybe [LHsExpr GhcTc] -> MatchGroup GhcTc (LHsExpr GhcTc) -> DsM ([Id], CoreExpr)
- matchSimply :: CoreExpr -> HsMatchContext GhcRn -> LPat GhcTc -> CoreExpr -> CoreExpr -> DsM CoreExpr
- matchSinglePat :: CoreExpr -> HsMatchContext GhcRn -> LPat GhcTc -> Type -> MatchResult CoreExpr -> DsM (MatchResult CoreExpr)
- matchSinglePatVar :: Id -> Maybe CoreExpr -> HsMatchContext GhcRn -> LPat GhcTc -> Type -> MatchResult CoreExpr -> DsM (MatchResult CoreExpr)
Documentation
Arguments
| :: [MatchId] | Variables rep'ing the exprs we're matching with ^ See Note [Match Ids] ^ Note that the Match Ids carry not only a name, but ^ also the multiplicity at which each column has been ^ type checked. | 
| -> Type | Type of the case expression | 
| -> [EquationInfo] | Info about patterns, etc. (type synonym below) | 
| -> DsM (MatchResult CoreExpr) | Desugared result! | 
matchEquations :: HsMatchContext GhcRn -> [MatchId] -> [EquationInfo] -> Type -> DsM CoreExpr Source #
Arguments
| :: CoreExpr | Scrutinee | 
| -> HsMatchContext GhcRn | Match kind | 
| -> LPat GhcTc | Pattern it should match | 
| -> CoreExpr | Return this if it matches | 
| -> CoreExpr | Return this if it doesn't | 
| -> DsM CoreExpr | 
matchSimply is a wrapper for match which deals with the
 situation where we want to match a single expression against a single
 pattern. It returns an expression.
matchSinglePat :: CoreExpr -> HsMatchContext GhcRn -> LPat GhcTc -> Type -> MatchResult CoreExpr -> DsM (MatchResult CoreExpr) Source #
Arguments
| :: Id | |
| -> Maybe CoreExpr | The scrutinee the match id is bound to | 
| -> HsMatchContext GhcRn | |
| -> LPat GhcTc | |
| -> Type | |
| -> MatchResult CoreExpr | |
| -> DsM (MatchResult CoreExpr) |