liquidhaskell-0.5.0.0: Liquid Types for Haskell

Safe HaskellNone
LanguageHaskell98

Language.Haskell.Liquid.Bounds

Documentation

data Bound t e Source

Constructors

Bound 

Fields

bname :: LocSymbol

The name of the bound

tyvars :: [t]

Type variables that appear in the bounds

bparams :: [(LocSymbol, t)]

These are abstract refinements, for now

bargs :: [(LocSymbol, t)]

These are value variables

bbody :: e

The body of the bound

Instances

Bifunctor Bound 
Eq (Bound t e) 
(PPrint e, PPrint t) => Show (Bound t e) 
Hashable (Bound t e) 
(PPrint e, PPrint t) => PPrint (Bound t e) 

type RRBound tv = Bound tv Pred Source

makeBound :: (PPrint r, UReftable r) => RRBound RSort -> [RRType r] -> [Symbol] -> RRType r -> RRType r Source

envToSub :: [(t, t1)] -> ([(t, t1)], t1, t1) Source