liquidhaskell-0.8.10.2: Liquid Types for Haskell
Safe HaskellNone
LanguageHaskell98

Language.Haskell.Liquid.GHC.Resugar

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

Instances

Instances details
PPrint Pattern Source # 
Instance details

Defined in Language.Haskell.Liquid.GHC.Resugar

Methods

pprintTidy :: Tidy -> Pattern -> Doc #

pprintPrec :: Int -> Tidy -> Pattern -> Doc #

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