Module Mavryk_benchmark.Costlang

module Num : sig ... end

Int or float

module Ty : sig ... end

Runtime type

module type S = sig ... end
module Void : S with type 'a repr = unit and type size = unit
module Pp : S with type 'a repr = string and type size = string
module Free_variables : S with type 'a repr = Free_variable.Set.t and type size = unit
module Eval : S with type 'a repr = 'a and type size = float
module Type : S with type 'a repr = 'a Ty.t and type size = Num.t
module Arg_names : sig ... end
type affine = {
  1. linear_comb : Free_variable.Sparse_vec.t;
  2. const : float;
}
type subst = Free_variable.t -> float option
exception Eval_linear_combination of string
module Eval_linear_combination_impl : sig ... end
module type Transform = functor (X : S) -> sig ... end
type transform = (module Transform)
val compose : transform -> transform -> transform
module Subst (P : sig ... end) : Transform
type 'a hash_consed = {
  1. repr : 'a;
  2. hash : int;
  3. tag : int;
}
module Hash_cons_vector : sig ... end
module Eval_to_vector : sig ... end