diff options
author | Péter Diviánszky <divipp@gmail.com> | 2016-02-07 00:39:18 +0100 |
---|---|---|
committer | Péter Diviánszky <divipp@gmail.com> | 2016-02-07 21:36:23 +0100 |
commit | 6e291f28363cc873b809e020eef8a929c8244508 (patch) | |
tree | 0f8ec4da631da1025a2cef1023b92bd48313a17d /lc | |
parent | 8e39dd5fae759b9aa70afd4bab55d8c53b13c0ef (diff) |
try again to move injectivity checking into the libraries
Diffstat (limited to 'lc')
-rw-r--r-- | lc/Internals.lc | 10 |
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 |
38 | type family T2 a b | 38 | type family T2 a b |
39 | 39 | ||
40 | match'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 |
41 | type family EqCT (t :: Type) (a :: t) (b :: t) | 46 | type family EqCT (t :: Type) (a :: t) (b :: t) |
42 | 47 | ||
43 | type 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') | 51 | type EqCTt = EqCT Type |
46 | 52 | ||
47 | -- builtin conjuction of constraint witnesses | 53 | -- builtin conjuction of constraint witnesses |
48 | t2C :: Unit -> Unit -> Unit | 54 | t2C :: Unit -> Unit -> Unit |