1module Match where 2 3import GhcPrelude 4import Var ( Id ) 5import TcType ( Type ) 6import DsMonad ( DsM, EquationInfo, MatchResult ) 7import CoreSyn ( CoreExpr ) 8import GHC.Hs ( LPat, HsMatchContext, MatchGroup, LHsExpr ) 9import Name ( Name ) 10import GHC.Hs.Extension ( GhcTc ) 11 12match :: [Id] 13 -> Type 14 -> [EquationInfo] 15 -> DsM MatchResult 16 17matchWrapper 18 :: HsMatchContext Name 19 -> Maybe (LHsExpr GhcTc) 20 -> MatchGroup GhcTc (LHsExpr GhcTc) 21 -> DsM ([Id], CoreExpr) 22 23matchSimply 24 :: CoreExpr 25 -> HsMatchContext Name 26 -> LPat GhcTc 27 -> CoreExpr 28 -> CoreExpr 29 -> DsM CoreExpr 30 31matchSinglePatVar 32 :: Id 33 -> HsMatchContext Name 34 -> LPat GhcTc 35 -> Type 36 -> MatchResult 37 -> DsM MatchResult 38