liquidtypes-0.1: Liquid Types for Haskell

Safe HaskellSafe-Infered

Language.Haskell.Liquid.PredType

Synopsis

Documentation

data TyConP Source

Constructors

TyConP 

Fields

freeTyVarsTy :: ![RTyVar]
 
freePredTy :: ![PVar RSort]
 

data DataConP Source

Constructors

DataConP 

Fields

freeTyVars :: ![RTyVar]
 
freePred :: ![PVar RSort]
 
tyArgs :: ![(Symbol, SpecType)]
 
tyRes :: !SpecType
 

replacePreds :: String -> SpecType -> [(RPVar, Ref RReft SpecType)] -> SpecTypeSource

This is the main function used to substitute an (abstract) predicate with a concrete Ref, of a compound (RPoly) type. The substitution is invoked to obtain the SpecType resulting at predicate application sites in Constraint. The range of the PVar substitutions are fresh or true RefType. That is, there are no further PVar in the target.

pVartoRConc :: PVar t -> (Symbol, [(a, b, Expr)]) -> RefaSource