From c7623fc11d5adc54d9b39fc83555dfecb0f639bd Mon Sep 17 00:00:00 2001
From: Max Bolingbroke <batterseapower@hotmail.com>
Date: Tue, 6 Sep 2011 17:31:50 +0100
Subject: [PATCH] Add a data type we can use to box up equality evidence for
 -XConstraintKind

---
 GHC/Types.hs | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/GHC/Types.hs b/GHC/Types.hs
index 3303cda..8e1c11b 100644
--- a/GHC/Types.hs
+++ b/GHC/Types.hs
@@ -78,6 +78,13 @@ or the '>>' and '>>=' operations from the 'Monad' class.
 newtype IO a = IO (State# RealWorld -> (# State# RealWorld, a #))
 
 
+-- | A data constructor used to box up all unlifted equalities
+--
+-- The type constructor is special in that GHC pretends that it
+-- has kind (? -> ? -> Fact) rather than (* -> * -> *)
+data (~) a b = Eq# ((~#) a b)
+
+
 --------------------------------------------------------------------------------
 -- Generic representations
 --------------------------------------------------------------------------------
-- 
GitLab