Copyright | (c) Patrick Bahr 2011 |
---|---|
License | BSD3 |
Maintainer | Patrick Bahr <paba@diku.dk> |
Stability | experimental |
Portability | non-portable (GHC Extensions) |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
This module defines equality for (higher-order) signatures, which lifts to equality for (higher-order) terms and contexts. All definitions are generalised versions of those in Data.Comp.Equality.
Documentation
Signature equality. An instance EqHF f
gives rise to an instance
KEq (HTerm f)
.
heqMod :: (EqHF f, HFunctor f, HFoldable f) => f a i -> f b i -> Maybe [(E a, E b)] Source #
This function implements equality of values of type f a
modulo
the equality of a
itself. If two functorial values are equal in this
sense, eqMod
returns a Just
value containing a list of pairs
consisting of corresponding components of the two functorial
values.