sig
type t = [ `Atom of string | `List of CCSexp.t list ]
val equal : CCSexp.t -> CCSexp.t -> bool
val compare : CCSexp.t -> CCSexp.t -> int
val hash : CCSexp.t -> int
val atom : string -> CCSexp.t
val of_int : int -> CCSexp.t
val of_bool : bool -> CCSexp.t
val of_list : CCSexp.t list -> CCSexp.t
val of_rev_list : CCSexp.t list -> CCSexp.t
val of_float : float -> CCSexp.t
val of_unit : CCSexp.t
val of_pair : CCSexp.t * CCSexp.t -> CCSexp.t
val of_triple : CCSexp.t * CCSexp.t * CCSexp.t -> CCSexp.t
val of_quad : CCSexp.t * CCSexp.t * CCSexp.t * CCSexp.t -> CCSexp.t
val of_variant : string -> CCSexp.t list -> CCSexp.t
val of_field : string -> CCSexp.t -> CCSexp.t
val of_record : (string * CCSexp.t) list -> CCSexp.t
module Traverse :
sig
type 'a conv = CCSexp.t -> 'a option
val map_opt : ('a -> 'b option) -> 'a list -> 'b list option
val list_any : 'a CCSexp.Traverse.conv -> CCSexp.t -> 'a option
val list_all : 'a CCSexp.Traverse.conv -> CCSexp.t -> 'a list
val to_int : int CCSexp.Traverse.conv
val to_string : string CCSexp.Traverse.conv
val to_bool : bool CCSexp.Traverse.conv
val to_float : float CCSexp.Traverse.conv
val to_list : CCSexp.t list CCSexp.Traverse.conv
val to_list_with :
(CCSexp.t -> 'a option) -> 'a list CCSexp.Traverse.conv
val to_pair : (CCSexp.t * CCSexp.t) CCSexp.Traverse.conv
val to_pair_with :
'a CCSexp.Traverse.conv ->
'b CCSexp.Traverse.conv -> ('a * 'b) CCSexp.Traverse.conv
val to_triple : (CCSexp.t * CCSexp.t * CCSexp.t) CCSexp.Traverse.conv
val to_triple_with :
'a CCSexp.Traverse.conv ->
'b CCSexp.Traverse.conv ->
'c CCSexp.Traverse.conv -> ('a * 'b * 'c) CCSexp.Traverse.conv
val get_field : string -> CCSexp.t CCSexp.Traverse.conv
val field :
string -> 'a CCSexp.Traverse.conv -> 'a CCSexp.Traverse.conv
val get_variant :
(string * (CCSexp.t list -> 'a option)) list ->
'a CCSexp.Traverse.conv
val field_list :
string -> (CCSexp.t list -> 'a option) -> 'a CCSexp.Traverse.conv
val ( >>= ) : 'a option -> ('a -> 'b option) -> 'b option
val ( >|= ) : 'a option -> ('a -> 'b) -> 'b option
val return : 'a -> 'a option
val get_exn : 'a option -> 'a
end
end