sig
type json = Json.t
val pretty : Format.formatter -> Data.json -> unit
module type S =
sig
type t
val syntax : Syntax.t
val of_json : Data.json -> Data.S.t
val to_json : Data.S.t -> Data.json
end
module type Info =
sig val page : Doc.page val name : string val descr : Markdown.text end
type 'a data = (module Data.S with type t = 'a)
module type S_collection =
sig
type t
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Collection :
functor (A : S) ->
sig
type t = A.t
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Joption :
functor (A : S) ->
sig
type t = A.t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jpair :
functor (A : S) (B : S) ->
sig
type t = A.t * B.t
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jtriple :
functor (A : S) (B : S) (C : S) ->
sig
type t = A.t * B.t * C.t
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
functor (A : S) ->
sig
type t = A.t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
functor (A : S) ->
sig
type t = A.t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Junit :
sig
type t = unit
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jany :
sig
type t = json
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jbool :
sig
type t = bool
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Jint :
sig
type t = int
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Jfloat :
sig
type t = float
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Jstring :
sig
type t = string
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Jident :
sig
type t = string
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
module Jtext :
sig
type t = json
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
type 'a record
type 'a signature
type ('a, 'b) field
module Record :
sig
module type S =
sig
type r
type t = r record
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
val default : t
val has : (Data.Record.S.r, 'a) Data.field -> t -> bool
val get : (Data.Record.S.r, 'a) Data.field -> t -> 'a
val set : (Data.Record.S.r, 'a) Data.field -> 'a -> t -> t
end
val signature :
page:Doc.page ->
name:string -> descr:Markdown.text -> unit -> 'a Data.signature
val field :
'r Data.signature ->
name:string ->
descr:Markdown.text ->
?default:'a -> 'a Data.data -> ('r, 'a) Data.field
val option :
'r Data.signature ->
name:string ->
descr:Markdown.text -> 'a Data.data -> ('r, 'a option) Data.field
val publish :
'a Data.signature -> (module Data.Record.S with type r = 'a)
end
module type Map =
sig
type 'a t
type key
val empty : 'a Data.Map.t
val add : Data.Map.key -> 'a -> 'a Data.Map.t -> 'a Data.Map.t
val find : Data.Map.key -> 'a Data.Map.t -> 'a
end
module type Index =
sig
type t
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
val get : t -> int
val find : int -> t
val clear : unit -> unit
end
module Static :
functor (M : Map) (I : Info) ->
sig
type t = M.key
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
val get : t -> int
val find : int -> t
val clear : unit -> unit
end
module Index :
functor (M : Map) (I : Info) ->
sig
type t = M.key
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
val get : t -> int
val find : int -> t
val clear : unit -> unit
end
module type IdentifiedType =
sig
type t
val id : Data.IdentifiedType.t -> int
val page : Doc.page
val name : string
val descr : Markdown.text
end
module Identified :
functor (A : IdentifiedType) ->
sig
type t = A.t
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
val get : t -> int
val find : int -> t
val clear : unit -> unit
end
module type Enum =
sig
type t
val values : (Data.Enum.t * string * Markdown.text) list
val page : Doc.page
val name : string
val descr : Markdown.text
end
module Dictionary :
functor (E : Enum) ->
sig
type t = E.t
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
module Joption :
sig
type t = t option
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jlist :
sig
type t = t list
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
module Jarray :
sig
type t = t array
val syntax : Syntax.t
val of_json : json -> t
val to_json : t -> json
end
end
exception InputError of string
val failure :
?json:Data.json ->
('a, Format.formatter, unit, 'b) Pervasives.format4 -> 'a
val failure_from_type_error : string -> Data.json -> 'a
end