package opamfu

  1. Overview
  2. Docs
type !'a expr =
  1. | Atom of 'a
  2. | And of 'a expr list
  3. | Or of 'a expr list
type version = OpamPackage.Version.t
type version_set = OpamPackage.Version.Set.t
type version_expr = OpamFormula.version_constraint expr option
val eval : ('a -> bool) -> 'a expr option -> bool
val interpret : ('z -> 'z -> 'z) -> ('z -> 'z -> 'z) -> ('x -> 'z) -> 'z -> 'x expr option -> 'z
val map : ('a -> 'b) -> 'a expr -> 'b expr
val to_opam_formula : 'a expr option -> 'a OpamFormula.formula
val of_opam_formula : OpamFormula.t -> t
val dnf_of_expr : 'a expr option -> 'a expr option
val expr_of_version_dnf : version_dnf -> version_expr
val simplify_expr : 'a expr option -> 'a expr option
val simplify : t -> t
val compare : acompare:('a -> 'a -> int) -> 'a expr -> 'a expr -> int
val sort : ('a expr -> 'a expr -> int) -> 'a expr option -> 'a expr option
val sort_formula : ?ncompare:(OpamPackage.Name.t -> OpamPackage.Name.t -> int) -> ?vcompare:(OpamPackage.Version.t -> OpamPackage.Version.t -> int) -> t -> t
val max_depth : t -> int
val count_width : ('a -> int) -> int -> 'a expr -> int
val expr_width : 'a expr -> int
val width : t -> int
val filter_versions : version_expr -> version_set -> version_set
val extremum_of_version_constraint : version_set -> OpamFormula.version_constraint -> version option
val dnf_of_version_subset : version_set -> version_set -> version_dnf
val could_satisfy : version_set OpamTypes.name_map -> t -> bool