Module Benchmark_accumulator.Entry

type ('arg, 'r) thunk = {
  1. uncurried : 'arg @ local -> 'r;
}

This type exists to prevent "staged" functions with no setup from being curried.

type ('param, 'benchmark_ctx, 'arg, 'r) parameterised_spec = {
  1. arg_name : string;
  2. params : (string * 'param) list;
    (*

    The first coordinate is some string representation of the second coordinate.

    *)
  3. thunk : 'param -> 'benchmark_ctx @ local -> ('arg, 'r) thunk @ local;
}
type ('benchmark_ctx, 'arg) test_spec =
  1. | Regular_thunk : ('benchmark_ctx @ local -> ('arg, 'r) thunk @ local) -> ('benchmark_ctx, 'arg) test_spec
  2. | Parameterised_thunk : ('param, 'benchmark_ctx, 'arg, 'r) parameterised_spec -> ('benchmark_ctx, 'arg) test_spec
type ('benchmark_ctx, 'arg) t = private {
  1. unique_id : int;
  2. code : string;
  3. type_conv_path : string;
  4. name : string;
  5. filename : string;
  6. line : int;
  7. startpos : int;
  8. endpos : int;
  9. test_spec : ('benchmark_ctx, 'arg) test_spec;
  10. config : (module Bench_config_types.S with type arg = 'arg and type benchmark_ctx = 'benchmark_ctx);
  11. bench_module_name : string option;
}
type packed =
  1. | P : ('benchmark_ctx, 'arg) t -> packed
val with_test_spec : ('benchmark_ctx, 'arg) t -> ('benchmark_ctx, 'arg) test_spec -> ('benchmark_ctx, 'arg) t
val compare : (_, _) t -> (_, _) t -> int
val get_module_name_opt : (_, _) t -> string option