summaryrefslogtreecommitdiff
path: root/typing/subst.mli
diff options
context:
space:
mode:
authorLeo White <leo@lpw25.net>2017-09-15 09:29:29 +0100
committerGitHub <noreply@github.com>2017-09-15 09:29:29 +0100
commit5cb27d8ebbc22a5eb2e921b63819aaad7bc96021 (patch)
treef13cd9285b6c3a2a43ec4c27a88a2201bea23790 /typing/subst.mli
parent1501bc9bb0bcf336f45595713b136d22464d99f9 (diff)
parente87113c782e0ceaa43e351d5dd31d5022413a787 (diff)
downloadocaml-5cb27d8ebbc22a5eb2e921b63819aaad7bc96021.tar.gz
Merge pull request #792 from sliquister/generalize-destr-subst2
Fixing the limitations on destructive substitutions
Diffstat (limited to 'typing/subst.mli')
-rw-r--r--typing/subst.mli8
1 files changed, 8 insertions, 0 deletions
diff --git a/typing/subst.mli b/typing/subst.mli
index b92f338d4c..f81cb4da56 100644
--- a/typing/subst.mli
+++ b/typing/subst.mli
@@ -34,7 +34,11 @@ type t
val identity: t
val add_type: Ident.t -> Path.t -> t -> t
+val add_type_path: Path.t -> Path.t -> t -> t
+val add_type_function:
+ Path.t -> params:type_expr list -> body:type_expr -> t -> t
val add_module: Ident.t -> Path.t -> t -> t
+val add_module_path: Path.t -> Path.t -> t -> t
val add_modtype: Ident.t -> module_type -> t -> t
val for_saving: t -> t
val reset_for_saving: unit -> unit
@@ -60,3 +64,7 @@ val class_signature: t -> class_signature -> class_signature
(* Composition of substitutions:
apply (compose s1 s2) x = apply s2 (apply s1 x) *)
val compose: t -> t -> t
+
+(* A forward reference to be filled in ctype.ml. *)
+val ctype_apply_env_empty:
+ (type_expr list -> type_expr -> type_expr list -> type_expr) ref