Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
A type for unification errors
Synopsis
- data UnifyError t h
- = SkolemUnified (h :# t) (h :# t)
- | SkolemEscape (h :# t)
- | ConstraintsViolation (t h) (TypeConstraintsOf t)
- | Occurs (t h) (t h)
- | Mismatch (t h) (t h)
- _SkolemUnified :: forall t h. Prism' (UnifyError t h) ((:#) h t, (:#) h t)
- _SkolemEscape :: forall t h. Prism' (UnifyError t h) ((:#) h t)
- _ConstraintsViolation :: forall t h. Prism' (UnifyError t h) (t h, TypeConstraintsOf t)
- _Occurs :: forall t h. Prism' (UnifyError t h) (t h, t h)
- _Mismatch :: forall t h. Prism' (UnifyError t h) (t h, t h)
Documentation
data UnifyError t h Source #
An error that occurred during unification
SkolemUnified (h :# t) (h :# t) | A universally quantified variable was unified with a different type |
SkolemEscape (h :# t) | A universally quantified variable escapes its scope |
ConstraintsViolation (t h) (TypeConstraintsOf t) | A term violates constraints that should apply to it |
Occurs (t h) (t h) | Infinite type encountered. A type occurs within itself |
Mismatch (t h) (t h) | Unification between two mismatching type structures |
Instances
_SkolemUnified :: forall t h. Prism' (UnifyError t h) ((:#) h t, (:#) h t) Source #
_SkolemEscape :: forall t h. Prism' (UnifyError t h) ((:#) h t) Source #
_ConstraintsViolation :: forall t h. Prism' (UnifyError t h) (t h, TypeConstraintsOf t) Source #
_Occurs :: forall t h. Prism' (UnifyError t h) (t h, t h) Source #
_Mismatch :: forall t h. Prism' (UnifyError t h) (t h, t h) Source #