diff options
author | Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | 2017-07-10 23:33:42 +0200 |
---|---|---|
committer | Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | 2017-07-11 14:50:47 +0200 |
commit | e1d4ad82b1557a8cf808e0374ece9c39ed349ea2 (patch) | |
tree | 6539da95794f0029d90e60460c1aaca9b8ddafeb /kernel/univ.mli | |
parent | 012f5fb722a9d5dcef82c800aa54ed50c0a58957 (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.mli | 6 |
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 *) |