Module Fixed.Pattern

type litType =
  1. | Int
  2. | Real
  3. | Imaginary
  4. | Str
val sexp_of_litType : litType -> Sexplib0.Sexp.t
val litType_of_sexp : Sexplib0.Sexp.t -> litType
val hash_fold_litType : Ppx_hash_lib.Std.Hash.state -> litType -> Ppx_hash_lib.Std.Hash.state
val hash_litType : litType -> Ppx_hash_lib.Std.Hash.hash_value
val compare_litType : litType -> litType -> int
type 'a t =
  1. | Var of string
  2. | Lit of litType * string
  3. | FunApp of 'a Fun_kind.t * 'a list
  4. | TernaryIf of 'a * 'a * 'a
  5. | EAnd of 'a * 'a
  6. | EOr of 'a * 'a
  7. | Indexed of 'a * 'a Index.t list
  8. | Promotion of 'a * UnsizedType.t * UnsizedType.autodifftype
  9. | TupleProjection of 'a * int
include Sexplib0.Sexpable.S1 with type 'a t := 'a t
include Ppx_hash_lib.Hashable.S1 with type 'a t := 'a t
include Ppx_compare_lib.Comparable.S1 with type 'a t := 'a t
include Common.Pattern.S with type 'a t := 'a t
val fold : ('b -> 'a -> 'b) -> 'b -> 'a t -> 'b
val map : ('a -> 'b) -> 'a t -> 'b t
include Ppx_compare_lib.Comparable.S1 with type 'a t := 'a t
val compare : 'a Base__Ppx_compare_lib.compare -> 'a t Base__Ppx_compare_lib.compare
include Ppx_hash_lib.Hashable.S1 with type 'a t := 'a t
val hash_fold_t : 'a Base__Ppx_hash_lib.hash_fold -> 'a t Base__Ppx_hash_lib.hash_fold
include Sexplib0.Sexpable.S1 with type 'a t := 'a t
val t_of_sexp : (Sexplib0__.Sexp.t -> 'a) -> Sexplib0__.Sexp.t -> 'a t
val sexp_of_t : ('a -> Sexplib0__.Sexp.t) -> 'a t -> Sexplib0__.Sexp.t
include Common.Foldable.S with type 'a t := 'a t
val fold_left : f:('b -> 'a -> 'b) -> init:'b -> 'a t -> 'b

Left associative fold of a data structure; this is the same as the function derived from [@@deriving fold] but with labelled arguments

val fold_right : f:('a -> 'b -> 'b) -> init:'b -> 'a t -> 'b

Right associative fold of a data structure

val any : pred:('a -> bool) -> ?init:bool -> 'a t -> bool

Test whether any element of the data structure satisfies the supplied predicate. The optional argument init specifies the starting value and defaults to false.

val all : pred:('a -> bool) -> ?init:bool -> 'a t -> bool

Test whether all elements of the the data structure satify the supplied predicate. The optional argument init specifies the starting value and defaults to true.

include Common.Pretty.S1 with type 'a t := 'a t
val pp : (Stdlib.Format.formatter -> 'a -> unit) -> Stdlib.Format.formatter -> 'a t -> unit