diff options
| author | letouzey | 2010-04-16 14:13:22 +0000 |
|---|---|---|
| committer | letouzey | 2010-04-16 14:13:22 +0000 |
| commit | 33a21e68fb5fad1d41bfaf03207054fddbb46ef0 (patch) | |
| tree | c6006aceed57709f271744491db3f0db70e763b0 /plugins/extraction/mlutil.mli | |
| parent | 37b4895e6037c61b354a587fc9021ef640374186 (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.mli | 2 |
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 |
