diff options
| author | herbelin | 2003-04-09 15:58:14 +0000 |
|---|---|---|
| committer | herbelin | 2003-04-09 15:58:14 +0000 |
| commit | 6725bbe3fa7a20941b4ff84c67d7cda7e7988be6 (patch) | |
| tree | acaf39e3e1c10b999d92d0102a6a7e58db1f0f74 /interp/constrextern.ml | |
| parent | 39cd2e369cc4871bf650e4f4f4a667c0e6b4d2d0 (diff) | |
Mécanisme plus simple et efficace pour traduire les implicites
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@3889 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'interp/constrextern.ml')
| -rw-r--r-- | interp/constrextern.ml | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/interp/constrextern.ml b/interp/constrextern.ml index a094e17ab8..472b636a8f 100644 --- a/interp/constrextern.ml +++ b/interp/constrextern.ml @@ -67,6 +67,13 @@ let with_universes f = Options.with_option print_universes f let without_symbols f = Options.with_option print_no_symbol f let with_meta_as_hole f = Options.with_option print_meta_as_hole f +(* For the translator *) +let temporary_implicits_out = ref [] +let set_temporary_implicits_out l = temporary_implicits_out := l +let get_temporary_implicits_out id = + try List.assoc id !temporary_implicits_out + with Not_found -> [] + (**********************************************************************) (* Various externalisation functions *) @@ -230,7 +237,7 @@ let rec extern inctx scopes vars r = args | RVar (loc,id) -> (* useful for translation of inductive *) let args = List.map (extern true scopes vars) args in - extern_app loc (implicits_of_global_out (VarRef id)) + extern_app loc (get_temporary_implicits_out id) (Ident (loc,id)) args | _ -> |
