liquidhaskell-0.8.10.2: Liquid Types for Haskell
Safe HaskellNone
LanguageHaskell98

Language.Haskell.Liquid.Constraint.Types

Synopsis

Constraint Generation Monad

Constraint information

data CGInfo Source #

Generation: Types ---------------------------------------------------------

Constructors

CGInfo 

Fields

Instances

Instances details
NFData CGInfo Source # 
Instance details

Defined in Language.Haskell.Liquid.Constraint.Types

Methods

rnf :: CGInfo -> () #

PPrint CGInfo Source # 
Instance details

Defined in Language.Haskell.Liquid.Constraint.Types

Methods

pprintTidy :: Tidy -> CGInfo -> Doc #

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

Freshable CG Integer Source #

This is all hardwiring stuff to CG ----------------------------------------

Instance details

Defined in Language.Haskell.Liquid.Constraint.Fresh

Constraint Generation Environment

data CGEnv Source #

Constructors

CGE 

Fields

Instances

Instances details
Show CGEnv Source # 
Instance details

Defined in Language.Haskell.Liquid.Constraint.Types

Methods

showsPrec :: Int -> CGEnv -> ShowS #

show :: CGEnv -> String #

showList :: [CGEnv] -> ShowS #

NFData CGEnv Source # 
Instance details

Defined in Language.Haskell.Liquid.Constraint.Types

Methods

rnf :: CGEnv -> () #

PPrint CGEnv Source # 
Instance details

Defined in Language.Haskell.Liquid.Constraint.Types

Methods

pprintTidy :: Tidy -> CGEnv -> Doc #

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

HasConfig CGEnv Source # 
Instance details

Defined in Language.Haskell.Liquid.Constraint.Types

Logical constraints (FIXME: related to bounds?)

Fixpoint environment

data FEnv Source #

Fixpoint Environment ------------------------------------------------------

Constructors

FE 

Fields

  • feBinds :: !IBindEnv

    Integer Keys for Fixpoint Environment

  • feEnv :: !(SEnv Sort)

    Fixpoint Environment

  • feIdEnv :: !(SEnv BindId)

    Map from Symbol to current BindId

Instances

Instances details
NFData FEnv Source # 
Instance details

Defined in Language.Haskell.Liquid.Constraint.Types

Methods

rnf :: FEnv -> () #

initFEnv :: [(Symbol, Sort)] -> FEnv Source #

insertsFEnv :: FEnv -> [((Symbol, Sort), BindId)] -> FEnv Source #

Hole Environment

data HEnv Source #

Helper Types: HEnv --------------------------------------------------------

fromListHEnv :: [Symbol] -> HEnv Source #

elemHEnv :: Symbol -> HEnv -> Bool Source #

Subtyping Constraints

data SubC Source #

Subtyping Constraints -----------------------------------------------------

Constructors

SubC 

Fields

SubR 

Fields

Instances

Instances details
NFData SubC Source # 
Instance details

Defined in Language.Haskell.Liquid.Constraint.Types

Methods

rnf :: SubC -> () #

PPrint SubC Source # 
Instance details

Defined in Language.Haskell.Liquid.Constraint.Types

Methods

pprintTidy :: Tidy -> SubC -> Doc #

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

type FixSubC = SubC Cinfo Source #

Well-formedness Constraints

data WfC Source #

Constructors

WfC !CGEnv !SpecType 

Instances

Instances details
NFData WfC Source # 
Instance details

Defined in Language.Haskell.Liquid.Constraint.Types

Methods

rnf :: WfC -> () #

PPrint WfC Source # 
Instance details

Defined in Language.Haskell.Liquid.Constraint.Types

Methods

pprintTidy :: Tidy -> WfC -> Doc #

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

type FixWfC = WfC Cinfo Source #

Invariants

type RTyConInv = HashMap RTyCon [RInv] Source #

Aliases?

type RTyConIAl = HashMap RTyCon [RInv] Source #

getTemplates :: CG Templates Source #