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