aboutsummaryrefslogtreecommitdiff
path: root/plugins/extraction/mlutil.mli
diff options
context:
space:
mode:
authorletouzey2010-04-16 14:13:22 +0000
committerletouzey2010-04-16 14:13:22 +0000
commit33a21e68fb5fad1d41bfaf03207054fddbb46ef0 (patch)
treec6006aceed57709f271744491db3f0db70e763b0 /plugins/extraction/mlutil.mli
parent37b4895e6037c61b354a587fc9021ef640374186 (diff)
Extraction: less eta in calls to global functions, better optimization phase
- we saturate the normalize function : as long as (kill_dummy + simpl) isn't a nop, we do it again. - generalize_case allowed on all types of theories/Init/*.v instead of only bool,sumbool,sumor. NB: this optim cannot be performed on any type, it might produce untyped code. - common_branch allowed on match with one branch: in this situation it indicates whether the match can be removed or not. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12942 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'plugins/extraction/mlutil.mli')
-rw-r--r--plugins/extraction/mlutil.mli2
1 files changed, 2 insertions, 0 deletions
diff --git a/plugins/extraction/mlutil.mli b/plugins/extraction/mlutil.mli
index 7fd8006a59..0366c4ba78 100644
--- a/plugins/extraction/mlutil.mli
+++ b/plugins/extraction/mlutil.mli
@@ -87,6 +87,7 @@ val tmp_id : ml_ident -> ml_ident
val collect_lams : ml_ast -> ml_ident list * ml_ast
val collect_n_lams : int -> ml_ast -> ml_ident list * ml_ast
+val remove_n_lams : int -> ml_ast -> ml_ast
val nb_lams : ml_ast -> int
val dummy_lams : ml_ast -> int -> ml_ast
@@ -96,6 +97,7 @@ val eta_args_sign : int -> signature -> ml_ast list
(*s Utility functions over ML terms. *)
+val mlapp : ml_ast -> ml_ast list -> ml_ast
val ast_map : (ml_ast -> ml_ast) -> ml_ast -> ml_ast
val ast_map_lift : (int -> ml_ast -> ml_ast) -> int -> ml_ast -> ml_ast
val ast_iter : (ml_ast -> unit) -> ml_ast -> unit