A predicate in the solver. The solver tries to prove Wanted predicates from Given ones.
Moduleghc-9.10.3GHC2021
GHC.Core.Predicate
- 3 types
- 36 values
- Packageghc-9.10.3
- Exports39
- LanguageGHC2021
- LicenceBSD-3-Clause
- SourcePredicate.hs
Get the equality relation relevant for a pred type.
Creates a primitive nominal type equality predicate. t1 ~# t2 Invariant: the types are not Coercions
Creates a primitive representational type equality predicate. t1 ~R# t2 Invariant: the types are not Coercions
Makes a lifted equality predicate at the given role
Creates a primitive nominal type equality predicate with an explicit (but homogeneous) kind: (~#) k k ty1 ty2
mentionsIP mentionsIP str_cond ty_cond cls tys returns True if:
cls tysis of the formIP str ty, wherestr_cond strandty_cond tyare bothTrue,or any superclass of
cls tyshas this property.
See Note [Local implicit parameters]
Is a type a CallStack?
Is a PredType a CallStack implicit parameter?
If so, return the name of the parameter.
Is a PredType an ExceptionContext implicit parameter?
If so, return the name of the parameter.
Is a type an ExceptionContext?
Decomposes a predicate if it is an implicit parameter. Does not look in superclasses. See also [Local implicit parameters].
Dictionary Identifier