unison-parser-typechecker-0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Unison.KindInference.Constraint.Unsolved

Synopsis

Documentation

data Constraint uv v loc typeProv Source #

Unsolved constraints

These are produced during constraint generation and given as input to the constraint solver.

Constructors

IsType uv (typeProv v loc)

An IsType constraint may arise from generation or from the solver. During generation the provenance is always a real source code location, but the solver defaults unconstrained kind vars to Star.

IsArr uv (Provenance v loc) uv uv 
IsAbility uv (Provenance v loc) 
Unify (Provenance v loc) uv uv 

Instances

Instances details
(Show v, Show loc, Show uv, Show (typeProv v loc)) => Show (Constraint uv v loc typeProv) Source # 
Instance details

Defined in Unison.KindInference.Constraint.Unsolved

Methods

showsPrec :: Int -> Constraint uv v loc typeProv -> ShowS #

show :: Constraint uv v loc typeProv -> String #

showList :: [Constraint uv v loc typeProv] -> ShowS #

(Var v, Eq loc, Eq uv, Eq (typeProv v loc)) => Eq (Constraint uv v loc typeProv) Source # 
Instance details

Defined in Unison.KindInference.Constraint.Unsolved

Methods

(==) :: Constraint uv v loc typeProv -> Constraint uv v loc typeProv -> Bool #

(/=) :: Constraint uv v loc typeProv -> Constraint uv v loc typeProv -> Bool #

(Var v, Ord loc, Ord uv, Ord (typeProv v loc)) => Ord (Constraint uv v loc typeProv) Source # 
Instance details

Defined in Unison.KindInference.Constraint.Unsolved

Methods

compare :: Constraint uv v loc typeProv -> Constraint uv v loc typeProv -> Ordering #

(<) :: Constraint uv v loc typeProv -> Constraint uv v loc typeProv -> Bool #

(<=) :: Constraint uv v loc typeProv -> Constraint uv v loc typeProv -> Bool #

(>) :: Constraint uv v loc typeProv -> Constraint uv v loc typeProv -> Bool #

(>=) :: Constraint uv v loc typeProv -> Constraint uv v loc typeProv -> Bool #

max :: Constraint uv v loc typeProv -> Constraint uv v loc typeProv -> Constraint uv v loc typeProv #

min :: Constraint uv v loc typeProv -> Constraint uv v loc typeProv -> Constraint uv v loc typeProv #

typeProv :: Traversal (Constraint uv v loc prov) (Constraint uv v loc prov') (prov v loc) (prov' v loc) Source #

prov :: Lens (Constraint uv v loc Provenance) (Constraint uv v loc' Provenance) (Provenance v loc) (Provenance v loc') Source #