Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- simplifyLevelConstraint :: Constraint -> [Constraint] -> Maybe [Constraint]
Documentation
simplifyLevelConstraint Source #
:: Constraint | Constraint |
-> [Constraint] | Other constraints, enable simplification. |
-> Maybe [Constraint] |
|
simplifyLevelConstraint c cs
turns an c
into an equality
constraint if it is an inequality constraint and the reverse
inequality is contained in cs
.
The constraints don't necessarily have to live in the same context, but they do need to be universally quanitfied over the context. This function takes care of renaming variables when checking for matches.