summaryrefslogtreecommitdiff
path: root/kernel/vconv.mli
blob: 4aed5d05fadc625bffde0bde8d8fb3b759447a59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
(************************************************************************)
(*  v      *   The Coq Proof Assistant  /  The Coq Development Team     *)
(* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *)
(*   \VV/  **************************************************************)
(*    //   *      This file is distributed under the terms of the       *)
(*         *       GNU Lesser General Public License Version 2.1        *)
(************************************************************************)

(*i*)
open Names
open Term
open Environ
open Reduction
(*i*)

(***********************************************************************)
(*s conversion functions *)
val use_vm : unit -> bool
val set_use_vm : bool -> unit
val vconv : conv_pb -> types conversion_function

(***********************************************************************)
(*s Reduction functions *)
val cbv_vm : env -> constr -> types -> constr





val nf_val : env -> values -> types -> constr

val nf_whd : env -> Vm.whd -> types -> constr

val nf_stk : env -> constr -> types -> Vm.stack  -> constr
       
val nf_args : env -> Vm.arguments -> types ->  types * constr array

val nf_bargs : env -> Vm.vblock -> types -> constr array

val nf_fun : env -> Vm.vfun -> types -> constr

val nf_fix : env -> Vm.vfix -> constr 
  
val nf_cofix : env -> Vm.vcofix -> constr