summaryrefslogtreecommitdiff
path: root/src/parse_ast.ml
diff options
context:
space:
mode:
authorAlasdair Armstrong2017-07-26 00:42:50 +0100
committerAlasdair Armstrong2017-07-26 18:05:21 +0100
commit7dd74b4786304efe22cc576f5c6f46368e220c52 (patch)
treef4cbf069fe65fcfe2e7030a3d79585614c4ca27f /src/parse_ast.ml
parentce2b3391539fba834105923488f09475e3a1e25a (diff)
Added syntax for existential types
Diffstat (limited to 'src/parse_ast.ml')
-rw-r--r--src/parse_ast.ml5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/parse_ast.ml b/src/parse_ast.ml
index 526dffa8..c2e550f4 100644
--- a/src/parse_ast.ml
+++ b/src/parse_ast.ml
@@ -144,18 +144,19 @@ atyp_aux = (* expressions of all kinds, to be translated to types, nats, orders
| ATyp_fn of atyp * atyp * atyp (* Function type (first-order only in user code), last atyp is an effect *)
| ATyp_tup of (atyp) list (* Tuple type *)
| ATyp_app of id * (atyp) list (* type constructor application *)
+ | ATyp_exist of kid list * n_constraint * atyp
and atyp =
ATyp_aux of atyp_aux * l
-type
+and
kinded_id_aux = (* optionally kind-annotated identifier *)
KOpt_none of kid (* identifier *)
| KOpt_kind of kind * kid (* kind-annotated variable *)
-type
+and
n_constraint_aux = (* constraint over kind $_$ *)
NC_fixed of atyp * atyp
| NC_bounded_ge of atyp * atyp