diff options
author | Gregory Malecha <gmalecha@cs.harvard.edu> | 2015-10-17 21:40:49 -0700 |
---|---|---|
committer | Maxime Dénès <mail@maximedenes.fr> | 2015-10-28 16:57:55 +0100 |
commit | 7d9331a2a188842a98936278d02177f1a6fa7001 (patch) | |
tree | 5bfe3ab5498d17e77a1d8f47c7c4a1864f33b19f /kernel/univ.ml | |
parent | b5a0e384b405f64fd0854d5e88b55e8c2a159c02 (diff) |
Adds support for the virtual machine to perform reduction of universe polymorphic definitions.
- This implementation passes universes in separate arguments and does not
eagerly instanitate polymorphic definitions.
- This means that it pays no cost on monomorphic definitions.
Diffstat (limited to 'kernel/univ.ml')
-rw-r--r-- | kernel/univ.ml | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/kernel/univ.ml b/kernel/univ.ml index c0bd3bacd..064dde3a6 100644 --- a/kernel/univ.ml +++ b/kernel/univ.ml @@ -1754,7 +1754,7 @@ let eq_puniverses f (x, u) (y, u') = f x y && Instance.equal u u' (** A context of universe levels with universe constraints, - representiong local universe variables and constraints *) + representing local universe variables and constraints *) module UContext = struct @@ -1778,8 +1778,11 @@ struct let union (univs, cst) (univs', cst') = Instance.append univs univs', Constraint.union cst cst' - + let dest x = x + + let size (x,_) = Instance.length x + end type universe_context = UContext.t |