From 2ddd0afea124874576b1468c3ce5830352be4322 Mon Sep 17 00:00:00 2001 From: letouzey Date: Wed, 18 Nov 2009 00:03:14 +0000 Subject: Module subtyping : allow many <: and module type declaration with <: Any place where <: was legal can now contain many <: declarations. Moreover we can say that the module type we are declaring is a subtype of an earlier module type. See DecidableType2 for examples. Also try to handle correctly the freeze/unfreeze summaries when simulating start/include/end (syntax ... := ... <+ ...) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12532 85f007b7-540e-0410-9357-904b9bb8a0f7 --- library/declaremods.mli | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'library/declaremods.mli') diff --git a/library/declaremods.mli b/library/declaremods.mli index 3d16a287f..f20be9cd0 100644 --- a/library/declaremods.mli +++ b/library/declaremods.mli @@ -37,14 +37,16 @@ open Lib *) val declare_module : - (env -> 'modtype -> module_struct_entry) -> (env -> 'modexpr -> module_struct_entry) -> + (env -> 'modtype -> module_struct_entry) -> + (env -> 'modexpr -> module_struct_entry) -> identifier -> - (identifier located list * 'modtype) list -> ('modtype * bool) option -> + (identifier located list * 'modtype) list -> + 'modtype Topconstr.module_signature -> 'modexpr list -> module_path val start_module : (env -> 'modtype -> module_struct_entry) -> bool option -> identifier -> (identifier located list * 'modtype) list -> - ('modtype * bool) option -> module_path + 'modtype Topconstr.module_signature -> module_path val end_module : unit -> module_path @@ -54,10 +56,11 @@ val end_module : unit -> module_path val declare_modtype : (env -> 'modtype -> module_struct_entry) -> identifier -> (identifier located list * 'modtype) list -> - 'modtype list -> module_path + 'modtype list -> 'modtype list -> module_path val start_modtype : (env -> 'modtype -> module_struct_entry) -> - identifier -> (identifier located list * 'modtype) list -> module_path + identifier -> (identifier located list * 'modtype) list -> + 'modtype list -> module_path val end_modtype : unit -> module_path -- cgit v1.2.3