Module Ppx_optcomp__.Interpreter

module Filename = Caml.Filename
module Parsing = Caml.Parsing
module Type : sig ... end
module Value : sig ... end
module Env : sig ... end
val invalid_type : Ppxlib.Location.t -> Type.t -> Type.t -> 'a
val var_of_lid : Ppxlib.Longident.t Ppxlib.Ast_builder.Default.Located.t -> Base.String.t Ppxlib__.Loc.t
val cannot_convert : Ppxlib.Location.t -> string -> Value.t -> 'a
val convert_from_string : Ppxlib.Location.t -> string -> (string -> 'a) -> string -> 'a
exception Pattern_match_failure of Ppxlib.pattern * Value.t
val lid_of_expr : Ppxlib.expression -> Ppxlib.longident_loc
val var_of_expr : Ppxlib.expression -> Base.String.t Ppxlib__.Loc.t
val not_supported : Ppxlib.expression -> 'a
val parse_int : Ppxlib.Location.t -> string -> Base.Int.t
val eval : Env.t -> Ppxlib.expression -> Value.t
val bind : Env.t -> Ppxlib.pattern -> Value.t -> Env.t
val do_bind : Env.t -> Ppxlib.pattern -> Value.t -> Env.t
val eval_same : Env.t -> Ppxlib.expression -> Ppxlib.expression -> Value.t * Value.t
val eval_int : Env.t -> Ppxlib.expression -> Base.int
val eval_bool : Env.t -> Ppxlib.expression -> Base.bool
val eval_string : Env.t -> Ppxlib.expression -> Base.string
val eval_pair : Env.t -> Ppxlib.expression -> Value.t * Value.t
val eval_int2 : Env.t -> (Base__Int.t -> Base__Int.t -> Base__Int.t) -> Ppxlib.expression -> Ppxlib.expression -> Value.t
val eval_bool2 : Env.t -> (Base.bool -> Base.bool -> Base.bool) -> Ppxlib.expression -> Ppxlib.expression -> Value.t
val eval_string2 : Env.t -> (Base.String.t -> Base.String.t -> Base.String.t) -> Ppxlib.expression -> Ppxlib.expression -> Value.t
val eval_cmp : Env.t -> (Value.t -> Value.t -> Base.bool) -> Ppxlib.expression -> Ppxlib.expression -> Value.t
val eval_poly2 : Env.t -> (Value.t -> Value.t -> Value.t) -> Ppxlib.expression -> Ppxlib.expression -> Value.t
module EnvIO : sig ... end