aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel/univ.mli
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2017-07-10 23:33:42 +0200
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2017-07-11 14:50:47 +0200
commite1d4ad82b1557a8cf808e0374ece9c39ed349ea2 (patch)
tree6539da95794f0029d90e60460c1aaca9b8ddafeb /kernel/univ.mli
parent012f5fb722a9d5dcef82c800aa54ed50c0a58957 (diff)
Cleaning up the implementation of module subtyping in the kernel.
We export a function in UGraph to check that a polymorphic instance is a subtype of another, instead of rolling up our own in module code. We also add a few tests for module subtyping in presence of polymorphic constants.
Diffstat (limited to 'kernel/univ.mli')
-rw-r--r--kernel/univ.mli6
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/univ.mli b/kernel/univ.mli
index 3d0d2234d..9d93ec26c 100644
--- a/kernel/univ.mli
+++ b/kernel/univ.mli
@@ -319,11 +319,15 @@ module AUContext :
sig
type t
+ val repr : t -> UContext.t
+ (** [repr ctx] is [(Var(0), ... Var(n-1) |= cstr] where [n] is the length of
+ the context and [cstr] the abstracted constraints. *)
+
val empty : t
val is_empty : t -> bool
val instance : t -> Instance.t
-
+
val size : t -> int
(** Keeps the order of the instances *)