package um-abt

  1. Overview
  2. Docs

The interface for a module that defines the operators of a language

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 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
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
OCaml

Innovation. Community. Security.