summaryrefslogtreecommitdiff
path: root/src/specialize.mli
diff options
context:
space:
mode:
authorAlasdair Armstrong2018-03-08 18:14:44 +0000
committerAlasdair Armstrong2018-03-09 17:44:13 +0000
commit9570bf932e3ba0269cbed06a49fc8000b45b32a3 (patch)
treeb3f56057b891392c9de3b57e6e6c305a80635b33 /src/specialize.mli
parentfccf018feecf914c937dc4cc253a882f482943f2 (diff)
Specialise constructors for polymorphic unions
Also work on making C backend compile RISC-V
Diffstat (limited to 'src/specialize.mli')
-rw-r--r--src/specialize.mli6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/specialize.mli b/src/specialize.mli
index 0c4a2495..474d3c9d 100644
--- a/src/specialize.mli
+++ b/src/specialize.mli
@@ -67,3 +67,9 @@ val polymorphic_functions : (kinded_id -> bool) -> 'a defs -> IdSet.t
environment to return if there is no polymorphism to remove, in
which case specialize returns the AST unmodified. *)
val specialize : tannot defs -> Env.t -> tannot defs * Env.t
+
+val specialize_variants : tannot defs -> Env.t -> tannot defs * Env.t
+
+val instantiations_of : id -> tannot defs -> uvar KBindings.t list
+
+val string_of_instantiation : uvar KBindings.t -> string