Safe Haskell | None |
---|---|
Language | Haskell98 |
This module contains functions for "resugaring" low-level GHC CoreExpr
into high-level patterns, that can receive special case handling in
different phases (e.g. ANF, Constraint Generation, etc.)
- data Pattern
- = PatBind { }
- | PatReturn { }
- | PatProject { }
- | PatSelfBind { }
- | PatSelfRecBind { }
- lift :: CoreExpr -> Maybe Pattern
- lower :: Pattern -> CoreExpr
High-level Source Patterns
Data type for high-level patterns -----------------------------------------
PatBind | e1 >>= x -> e2 |
PatReturn | |
PatProject | |
PatSelfBind | |
PatSelfRecBind | |
Lift a CoreExpr into a Pattern
lift :: CoreExpr -> Maybe Pattern Source #
Lift expressions into High-level patterns ---------------------------------