Module type Priority.P

Output signature fo the functor Priority.Make.

type r_t
type r_label
type p_class =
| P_class of r_t list
| P_rclass of r_t list
val is_valid : p_class -> bool
val is_valid_list : p_class list -> bool
val cardinal : p_class list -> int
val rewrite : Big.t -> p_class list -> Big.t * int
val scan : (Big.t * int) -> part_f:((Big.t * r_label * r_t list) list -> (int * (Big.t * r_label * r_t list)) list * (int * r_label * r_t list) list * int) -> p_class list -> ((int * (Big.t * r_label * r_t list)) list * (int * r_label * r_t list) list * int) * int

Iterate over priority classes.

val scan_sim : Big.t -> p_class list -> (Big.t * r_label * r_t list) option * int
module Memo : sig ... end

Memoised interface