Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data PmExpr
- data PmLit
- type SimpleEq = (Id, PmExpr)
- type ComplexEq = (PmExpr, PmExpr)
- toComplex :: SimpleEq -> ComplexEq
- eqPmLit :: PmLit -> PmLit -> Bool
- truePmExpr :: PmExpr
- falsePmExpr :: PmExpr
- isTruePmExpr :: PmExpr -> Bool
- isFalsePmExpr :: PmExpr -> Bool
- isNotPmExprOther :: PmExpr -> Bool
- lhsExprToPmExpr :: LHsExpr Id -> PmExpr
- hsExprToPmExpr :: HsExpr Id -> PmExpr
- substComplexEq :: Name -> PmExpr -> ComplexEq -> Either ComplexEq ComplexEq
- filterComplex :: [ComplexEq] -> [PmNegLitCt]
- pprPmExprWithParens :: PmExpr -> PmPprM SDoc
- runPmPprM :: PmPprM a -> [PmNegLitCt] -> (a, [(SDoc, [PmLit])])
Documentation
Lifted expressions for pattern match checking.
Literals (simple and overloaded ones) for pattern match checking.
Expression True
Expression False
isTruePmExpr :: PmExpr -> Bool Source
Check whether a PmExpr is syntactically equal to term True
.
isFalsePmExpr :: PmExpr -> Bool Source
Check whether a PmExpr is syntactically equal to term False
.
isNotPmExprOther :: PmExpr -> Bool Source
Check if an expression is lifted or not
lhsExprToPmExpr :: LHsExpr Id -> PmExpr Source
hsExprToPmExpr :: HsExpr Id -> PmExpr Source
substComplexEq :: Name -> PmExpr -> ComplexEq -> Either ComplexEq ComplexEq Source
Substitute in a complex equality. We return (Left eq) if the substitution affected the equality or (Right eq) if nothing happened.
filterComplex :: [ComplexEq] -> [PmNegLitCt] Source
pprPmExprWithParens :: PmExpr -> PmPprM SDoc Source