liquidhaskell-0.8.0.2: Liquid Types for Haskell

Safe HaskellNone
LanguageHaskell98

Language.Haskell.Liquid.GHC.Resugar

Contents

Description

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.)

Synopsis

High-level Source Patterns

data Pattern Source #

Data type for high-level patterns -----------------------------------------

Constructors

PatBind

e1 >>= x -> e2

Fields

PatReturn 

Fields

PatProject 

Fields

PatSelfBind 

Fields

PatSelfRecBind 

Fields

Lift a CoreExpr into a Pattern

lift :: CoreExpr -> Maybe Pattern Source #

Lift expressions into High-level patterns ---------------------------------

Lower a pattern back into a CoreExpr

lower :: Pattern -> CoreExpr Source #

Lower patterns back into expressions --------------------------------------