multirec-0.7.9: src/Generics/MultiRec/TEq.hs
{-# LANGUAGE GADTs #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE TypeOperators #-}
-----------------------------------------------------------------------------
-- |
-- Module : Generics.MultiRec.TEq
-- Copyright : (c) 2008--2010 Universiteit Utrecht
-- License : BSD3
--
-- Maintainer : generics@haskell.org
-- Stability : experimental
-- Portability : non-portable
--
-- Type-level equality. This module is currently provided by the multirec
-- library, even though it is more general and does not really belong here.
--
-----------------------------------------------------------------------------
module Generics.MultiRec.TEq where
infix 4 :=:
data (:=:) :: * -> * -> * where
Refl :: a :=: a
cast :: a :=: b -> a -> b
cast Refl x = x