sig
type lident = Longident.t
type uident = Longident.t
type iident = Longident.t
type ident = Longident.t
type iname = string
type tname = string
type filename = string
type exp =
Constant of Code.ident
| Var of Code.lident
| Match of Code.exp * Code.clauses
| Try of Code.exp * Code.clauses
| Generator of Code.uident * Code.exp
| Apply of Code.exp * Code.exp list
| Infix of Code.exp * Code.iident * Code.exp
| If of Code.exp * Code.exp * Code.exp
| Let of Code.lident * Code.pattern list * Code.exp * Code.exp
| Letrec of Code.lident * Code.pattern list * Code.exp * Code.exp
| Sequence of Code.exp * Code.exp * Code.exp list
| Record of (Code.lident * Code.exp) list
| Tuple of Code.exp list
| List of Code.exp list
| Ocaml_pattern of Parsetree.pattern
| Ocaml_expression of Parsetree.expression
| Function of Code.clauses
| Sline_directive of int * Code.filename * Code.exp
| Comment of string * Code.exp
and pattern = Code.exp
and clause =
Clause of Code.pattern * Code.exp
| Clause_when of Code.pattern * Code.exp * Code.exp
and clauses = Code.clause list
type structure_item =
Pstr_eval of Code.exp
| Pstr_value of Asttypes.rec_flag *
(Code.lident * Code.exp list * Code.exp) list
| Pstr_primitive of string * Parsetree.value_description
| Pstr_type of (string * Parsetree.type_declaration) list
| Pstr_exception of string * Parsetree.exception_declaration
| Pstr_open of Longident.t
| Pstr_include of Parsetree.module_expr
| Pstr_comment of string * Code.structure_item
type structure = Code.structure_item list
val underscored_ocaml_pattern : Parsetree.pattern -> Parsetree.pattern
val underscored_pattern : Code.exp -> Code.exp
val underscored_clause : Code.clause -> Code.clause
val prefix_longident : string -> Longident.t -> Longident.t
val topletrec :
(Code.lident * Code.pattern list * Code.exp) list -> Code.structure_item
val underscore : Code.pattern
val x : Code.exp
val y : Code.exp
val z : Code.exp
val t : Code.exp
val u : Code.exp
val xs : Code.exp
val genr_args : string -> int -> Code.pattern list
val genr_numbered_args : string -> int -> (int * Code.exp) list
val genr_underscores : int -> Code.pattern list
val make_Constant : string -> Code.exp
val make_Var : string -> Code.exp
val apply : Code.lident -> Code.exp list -> Code.exp
val apply1 : Code.lident -> Code.exp -> Code.exp
val apply2 : Code.lident -> Code.exp -> Code.exp -> Code.exp
val apply3 : Code.lident -> Code.exp -> Code.exp -> Code.exp -> Code.exp
val infix_apply : Code.exp -> Code.iident -> Code.exp -> Code.exp
val infix_name : Code.exp -> Code.iname -> Code.exp -> Code.exp
val let0 : Code.lident -> Code.exp -> Code.exp -> Code.exp
val let1 : Code.lident -> Code.pattern -> Code.exp -> Code.exp -> Code.exp
val pair : Code.exp -> Code.exp -> Code.exp
val raise_error : string -> Code.exp
val division_by_absorbent : Code.exp
val failure_division_by_absorbent : Code.exp
val failwith_division_by_absorbent : Code.exp
val sequence : Code.exp -> Code.exp -> Code.exp
end