diff options
author | Enrico Tassi <gareuselesinge@debian.org> | 2015-01-25 14:42:51 +0100 |
---|---|---|
committer | Enrico Tassi <gareuselesinge@debian.org> | 2015-01-25 14:42:51 +0100 |
commit | 7cfc4e5146be5666419451bdd516f1f3f264d24a (patch) | |
tree | e4197645da03dc3c7cc84e434cc31d0a0cca7056 /kernel/nativelambda.mli | |
parent | 420f78b2caeaaddc6fe484565b2d0e49c66888e5 (diff) |
Imported Upstream version 8.5~beta1+dfsg
Diffstat (limited to 'kernel/nativelambda.mli')
-rw-r--r-- | kernel/nativelambda.mli | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/kernel/nativelambda.mli b/kernel/nativelambda.mli new file mode 100644 index 00000000..6a97edc4 --- /dev/null +++ b/kernel/nativelambda.mli @@ -0,0 +1,43 @@ +(************************************************************************) +(* v * The Coq Proof Assistant / The Coq Development Team *) +(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2015 *) +(* \VV/ **************************************************************) +(* // * This file is distributed under the terms of the *) +(* * GNU Lesser General Public License Version 2.1 *) +(************************************************************************) +open Names +open Term +open Pre_env +open Nativevalues +open Nativeinstr + +(** This file defines the lambda code generation phase of the native compiler *) +type evars = + { evars_val : existential -> constr option; + evars_typ : existential -> types; + evars_metas : metavariable -> types } + +val empty_evars : evars + +val decompose_Llam : lambda -> Names.name array * lambda +val decompose_Llam_Llet : lambda -> (Names.name * lambda option) array * lambda + +val is_lazy : prefix -> constr -> bool +val mk_lazy : lambda -> lambda + +val get_mind_prefix : env -> mutual_inductive -> string + +val get_allias : env -> pconstant -> pconstant + +val lambda_of_constr : env -> evars -> Constr.constr -> lambda + +val compile_static_int31 : bool -> Constr.constr array -> lambda + +val compile_dynamic_int31 : bool -> prefix -> constructor -> lambda array -> + lambda + +val before_match_int31 : inductive -> bool -> prefix -> constructor -> lambda -> + lambda + +val compile_prim : Primitives.t -> constant -> bool -> prefix -> lambda array -> + lambda |