summaryrefslogtreecommitdiff
path: root/language
diff options
context:
space:
mode:
authorKathy Gray2014-03-11 17:57:06 +0000
committerKathy Gray2014-03-11 17:57:19 +0000
commit9abe43c6edb3439c23490d09cae4b71ed64c98db (patch)
treea4f14d3e7f60da51427097727a131d6bff640d13 /language
parent307f5de155fd11bbd0006bbe518fde0213fa2d9c (diff)
Change treatment of type abbreviations so that name and full type are available for field lookups of registers; this feature still not fully working.
Diffstat (limited to 'language')
-rw-r--r--language/l2.lem1
-rw-r--r--language/l2_typ.ott1
2 files changed, 2 insertions, 0 deletions
diff --git a/language/l2.lem b/language/l2.lem
index 32b6f1c7..2fd685f4 100644
--- a/language/l2.lem
+++ b/language/l2.lem
@@ -484,6 +484,7 @@ type t = (* Internal types *)
| T_fn of t * t * effect
| T_tup of list t
| T_app of id * t_args
+ | T_abbrev of t * t
and t_arg = (* Argument to type constructors *)
| T_arg_typ of t
diff --git a/language/l2_typ.ott b/language/l2_typ.ott
index 43a3ea17..057ddfba 100644
--- a/language/l2_typ.ott
+++ b/language/l2_typ.ott
@@ -47,6 +47,7 @@ t , u :: 'T_' ::=
| t1 -> t2 effect :: :: fn
| ( t1 * .... * tn ) :: :: tup
| id t_args :: :: app
+ | t |-> t1 :: :: abbrev
| register t_args :: S :: reg_app {{ ichlo T_app "register" [[t_args]] }}
| t [ t1 / id1 ... tn / idn ] :: M :: subst {{ ichlo "todo" }}