diff options
| author | Kathy Gray | 2014-03-11 17:57:06 +0000 |
|---|---|---|
| committer | Kathy Gray | 2014-03-11 17:57:19 +0000 |
| commit | 9abe43c6edb3439c23490d09cae4b71ed64c98db (patch) | |
| tree | a4f14d3e7f60da51427097727a131d6bff640d13 /language | |
| parent | 307f5de155fd11bbd0006bbe518fde0213fa2d9c (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.lem | 1 | ||||
| -rw-r--r-- | language/l2_typ.ott | 1 |
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" }} |
