summaryrefslogtreecommitdiff
path: root/src/initial_check.ml
diff options
context:
space:
mode:
authorAlasdair2018-12-12 00:49:32 +0000
committerAlasdair2018-12-12 00:49:32 +0000
commitc65aecd008d34102f4c95649113ed7f9afcc903b (patch)
tree71386fec2d39ffc7f73b219b70c2fc49d5adbb10 /src/initial_check.ml
parentab4b9ca4f7cab45b6a2a13d0ef125dcf9c276a06 (diff)
Fix various boolean type-variable related issues
Remove some dead code in Pretty_print_common Start thinking a bit about Minisail-esque syntactic sugar in initial_check
Diffstat (limited to 'src/initial_check.ml')
-rw-r--r--src/initial_check.ml5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/initial_check.ml b/src/initial_check.ml
index 44f36892..da6c7b84 100644
--- a/src/initial_check.ml
+++ b/src/initial_check.ml
@@ -96,7 +96,7 @@ let to_ast_id (P.Id_aux(id, l)) =
| P.DeIid x -> DeIid x),
l)
-let to_ast_var (P.Kid_aux(P.Var v,l)) = Kid_aux(Var v,l)
+let to_ast_var (P.Kid_aux (P.Var v, l)) = Kid_aux (Var v, l)
let to_ast_effects = function
| P.ATyp_aux (P.ATyp_set effects, l) ->
@@ -161,6 +161,8 @@ let rec to_ast_typ ctx (P.ATyp_aux (aux, l)) =
let kids = List.map to_ast_var kids in
let ctx = { ctx with kinds = List.fold_left (fun kinds kid -> KBindings.add kid K_int kinds) ctx.kinds kids } in
Typ_exist (kids, to_ast_constraint ctx nc, to_ast_typ ctx atyp)
+ | P.ATyp_base (id, kind, nc) ->
+ raise (Reporting.err_unreachable l __POS__ "TODO")
| _ -> raise (Reporting.err_typ l "Invalid type")
in
Typ_aux (aux, l)
@@ -763,6 +765,7 @@ let initial_ctx = {
("atom", [K_int]);
("implicit", [K_int]);
("itself", [K_int]);
+ ("not", [K_bool]);
];
kinds = KBindings.empty;
scattereds = Bindings.empty;