packages feed

open-witness 0.4 → 0.4.0.1

raw patch · 4 files changed

+25/−20 lines, 4 files

Files

open-witness.cabal view
@@ -1,6 +1,6 @@ cabal-version:  >=1.14 name:           open-witness-version:        0.4+version:        0.4.0.1 x-follows-version-policy: license:        BSD3 license-file:   LICENSE
src/Data/OpenWitness.hs view
@@ -35,7 +35,12 @@     newtype OpenWitness :: * -> forall (k :: *). k -> * where     {         MkOpenWitness :: Integer -> OpenWitness s a;-    } deriving Eq;+    };++    instance Eq (OpenWitness s a) where+    {+        (MkOpenWitness p) == (MkOpenWitness q) = p == q;+    };      instance TestHetEquality (OpenWitness s) where     {
src/Data/OpenWitness/ST.hs view
@@ -26,7 +26,7 @@     fixST :: (a -> ST s a) -> ST s a;     fixST = mfix; -    type STRef = OpenWitness;+    type STRef s = OpenWitness s;      newSTRef :: a -> ST s (STRef s a);     newSTRef a = do
test/Object.hs view
@@ -1,24 +1,24 @@ module Object where {-	import Data.Witness;-	import Data.OpenWitness;+    import Data.Witness;+    import Data.OpenWitness; -	data Object s = forall a. MkObject (OpenWitness s a) a;+    data Object s = forall a. MkObject (OpenWitness s a) a; -	matchObject :: OpenWitness s b -> Object s -> Maybe b;-	matchObject uqb (MkObject uqa a) = do-	{-		MkEqualType <- testEquality uqa uqb;-		return a;-	};+    matchObject :: OpenWitness s b -> Object s -> Maybe b;+    matchObject uqb (MkObject uqa a) = do+    {+        Refl <- testEquality uqa uqb;+        return a;+    }; -	makeConversions :: OpenWitness s b -> (b -> Object s,Object s -> Maybe b);-	makeConversions wit = (MkObject wit,matchObject wit);+    makeConversions :: OpenWitness s b -> (b -> Object s,Object s -> Maybe b);+    makeConversions wit = (MkObject wit,matchObject wit); -	getConversions :: OW s (b -> Object s,Object s -> Maybe b);-	getConversions = do-	{-		wit <- newOpenWitnessOW;-		return (makeConversions wit);-	};+    getConversions :: OW s (b -> Object s,Object s -> Maybe b);+    getConversions = do+    {+        wit <- newOpenWitnessOW;+        return (makeConversions wit);+    }; }