Copyright | (c) 2011 Patrick Bahr, Tom Hvitved |
---|---|

License | BSD3 |

Maintainer | Tom Hvitved <hvitved@diku.dk> |

Stability | experimental |

Portability | non-portable (GHC Extensions) |

Safe Haskell | None |

Language | Haskell98 |

This module defines equality for signatures, which lifts to equality for terms.

# Documentation

Equality on parametric values. The equality test is performed inside the
`FreshM`

monad for generating fresh identifiers.

Signature equality. An instance `EqHD f`

gives rise to an instance
`Eq (Term f i)`

. The equality test is performed inside the `FreshM`

monad for
generating fresh identifiers.