summaryrefslogtreecommitdiff
path: root/lc
diff options
context:
space:
mode:
authorPéter Diviánszky <divipp@gmail.com>2016-02-07 00:39:18 +0100
committerPéter Diviánszky <divipp@gmail.com>2016-02-07 21:36:23 +0100
commit6e291f28363cc873b809e020eef8a929c8244508 (patch)
tree0f8ec4da631da1025a2cef1023b92bd48313a17d /lc
parent8e39dd5fae759b9aa70afd4bab55d8c53b13c0ef (diff)
try again to move injectivity checking into the libraries
Diffstat (limited to 'lc')
-rw-r--r--lc/Internals.lc10
1 files changed, 8 insertions, 2 deletions
diff --git a/lc/Internals.lc b/lc/Internals.lc
index e0639717..15d1a38e 100644
--- a/lc/Internals.lc
+++ b/lc/Internals.lc
@@ -37,12 +37,18 @@ type family JoinTupleType t1 t2 where
37-- conjuction of constraints 37-- conjuction of constraints
38type family T2 a b 38type family T2 a b
39 39
40match'Type :: forall (m :: Type -> Type) -> m Type -> forall (t :: Type) -> m t -> m t
41
42--testmt :: forall (t :: Type) -> t -> t
43--testmt 'Type = \'Tuple0 -> 'Tuple0
44
40-- equality constraints 45-- equality constraints
41type family EqCT (t :: Type) (a :: t) (b :: t) 46type family EqCT (t :: Type) (a :: t) (b :: t)
42 47
43type EqCTt = EqCT Type 48--type instance EqCT Type Type Type = Unit--(a, b) (JoinTupleType a' b') = T2 (EqCT Type a a') (EqCT Type b b')
49--type instance EqCT Type (a, b) (JoinTupleType a' b') = T2 (EqCT Type a a') (EqCT Type b b')
44 50
45--type instance EqCT t (a, b) (JoinTupleType a' b') = T2 (EqCT Type a a') (EqCT Type b b') 51type EqCTt = EqCT Type
46 52
47-- builtin conjuction of constraint witnesses 53-- builtin conjuction of constraint witnesses
48t2C :: Unit -> Unit -> Unit 54t2C :: Unit -> Unit -> Unit