-- Data types
DsMatchContext(..),
- EquationInfo(..), MatchResult(..), DsWrapper, idWrapper,
+ EquationInfo(..), MatchResult(..), DsWrapper, idDsWrapper,
CanItFail(..), orFail
) where
deriving ()
data EquationInfo
- = EqnInfo { eqn_wrap :: DsWrapper, -- Bindings
- eqn_pats :: [Pat Id], -- The patterns for an eqn
+ = EqnInfo { eqn_pats :: [Pat Id], -- The patterns for an eqn
eqn_rhs :: MatchResult } -- What to do after match
type DsWrapper = CoreExpr -> CoreExpr
-idWrapper e = e
+idDsWrapper e = e
-- The semantics of (match vs (EqnInfo wrap pats rhs)) is the MatchResult
-- \fail. wrap (case vs of { pats -> rhs fail })