package orgeat

  1. Overview
  2. Docs
module Boltzmann : sig ... end
type sequence_kind = {
  1. min : int;
  2. max : int option;
}
val unbounded_seq : sequence_kind
val bounded_seq : int -> int option -> sequence_kind
type !'c class_tree =
  1. | One : unit class_tree
  2. | Scalar : K.t -> unit class_tree
  3. | Z : unit class_tree
  4. | Empty : 'a class_tree
  5. | Sampler : 'a0 Sampler.t -> 'a0 class_tree
  6. | Class : 'a1 combi_class -> 'a1 class_tree
  7. | Union : 'a2 class_tree list -> 'a2 class_tree
  8. | Product : 'a3 class_tree * 'b class_tree -> ('a3 * 'b) class_tree
  9. | Sequence : sequence_kind * 'a4 class_tree -> 'a4 list class_tree
  10. | Map : 'a5 class_tree * ('a5 -> 'b0) -> 'b0 class_tree
and !'a solved_tree =
  1. | T : (K.t * 'a0 stub) -> 'a0 solved_tree
and !'a stub =
  1. | S_One : unit stub
  2. | S_Z : unit stub
  3. | S_Sampler : 'a0 Sampler.t -> 'a0 stub
  4. | S_Empty : 'a1 stub
  5. | S_Class : 'a2 combi_class -> 'a2 stub
  6. | S_Union : 'a3 solved_tree list -> 'a3 stub
  7. | S_Product : 'a4 solved_tree * 'b solved_tree -> ('a4 * 'b) stub
  8. | S_Sequence : sequence_kind * 'a5 solved_tree -> 'a5 list stub
  9. | S_Map : 'a6 solved_tree * ('a6 -> 'b0) -> 'b0 stub
and !'a combi_class = {
  1. name : Literal.Class.t;
  2. mutable class_tree : 'a class_tree option;
  3. mutable solved_tree : 'a solved_tree option;
}
val get_name : 'a combi_class -> Literal.Class.t
val get_class : 'a combi_class -> 'a class_tree option
val get_solved : 'a combi_class -> 'a solved_tree option
val new_class : Literal.Class.t -> 'a combi_class
val new_class_of_str : string -> 'a combi_class
val reset_class : 'a combi_class -> unit
val update_class : 'a combi_class -> 'a class_tree -> unit
val reset_solved : 'a combi_class -> unit
val update_solved : 'a combi_class -> 'a solved_tree -> unit
val tup2 : 'a class_tree -> 'b class_tree -> ('a * 'b) class_tree
val tup3 : 'a class_tree -> 'b class_tree -> 'c class_tree -> ('a * 'b * 'c) class_tree
val tup4 : 'a class_tree -> 'b class_tree -> 'c class_tree -> 'd class_tree -> ('a * 'b * 'c * 'd) class_tree
val tup5 : 'a class_tree -> 'b class_tree -> 'c class_tree -> 'd class_tree -> 'e class_tree -> ('a * 'b * 'c * 'd * 'e) class_tree
val mul_scalar : K.t -> 'a class_tree -> 'a class_tree
val (+) : 'a class_tree -> 'a class_tree -> 'a class_tree
val (*) : 'a class_tree -> 'b class_tree -> ('a * 'b) class_tree
val z : 'a class_tree -> 'a class_tree
val seq : 'a class_tree -> 'a list class_tree
val seq_bounded : min:int -> ?max:int -> 'a class_tree -> 'a list class_tree
val option : 'a class_tree -> 'a option class_tree
val stub_node_to_string : 'a stub -> string
val solved_node_to_string : 'a solved_tree -> string
val solved_to_strings : 'a solved_tree -> string list
val pp_solved_tree : Stdlib.Format.formatter -> 'a solved_tree -> unit