Module Syntax.Op

type 'a t

The type of the operator, usually represented as a sum type.

Each operator should be have the form

Foo of 'a * 'a * ... * 'a

Where the free variables 'a are arguments to the operator Foo.

include Ppx_sexp_conv_lib.Sexpable.S1 with type 'a Op.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
val map : ('a -> 'b) -> 'a t -> 'b t
val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
val fold : ('a -> 'b -> 'a) -> 'a -> 'b t -> 'a
val to_string : string t -> string