Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data Constraint uv v loc typeProv
- = IsType uv (typeProv v loc)
- | IsArr uv (Provenance v loc) uv uv
- | IsAbility uv (Provenance v loc)
- | Unify (Provenance v loc) uv uv
- typeProv :: Traversal (Constraint uv v loc prov) (Constraint uv v loc prov') (prov v loc) (prov' v loc)
- prov :: Lens (Constraint uv v loc Provenance) (Constraint uv v loc' Provenance) (Provenance v loc) (Provenance v loc')
- loc :: Lens' (Constraint uv v loc Provenance) loc
Documentation
data Constraint uv v loc typeProv Source #
Unsolved constraints
These are produced during constraint generation and given as input to the constraint solver.
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
(Show v, Show loc, Show uv, Show (typeProv v loc)) => Show (Constraint uv v loc typeProv) Source # | |
Defined in Unison.KindInference.Constraint.Unsolved 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 # | |
Defined in Unison.KindInference.Constraint.Unsolved (==) :: 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 # | |
Defined in Unison.KindInference.Constraint.Unsolved 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 #
loc :: Lens' (Constraint uv v loc Provenance) loc Source #