diff --git a/src/plugins/server/data.mli b/src/plugins/server/data.mli index 6c56c265098d08b7b7da4961d41d1f02c447139c..98277a45c1ec90b5d2d5e86753279390d73d05c8 100644 --- a/src/plugins/server/data.mli +++ b/src/plugins/server/data.mli @@ -49,7 +49,12 @@ documentation and returns an OCaml value containing the resulting datatype module. - The same mechanism is used in modules [States] and [Request]. + Hence, in addition to module signature [Data.S] for values, + there is also a polymorphic type ['a Data.data] for module + values carrying a data module with type [t = 'a]. + + The same mechanism is used throughout modules [States] and [Request] + each time a JSON record or tag is needed. *) (* -------------------------------------------------------------------------- *) @@ -58,6 +63,7 @@ type json = Json.t val page : Doc.page (** Documentation page for general purpose data types *) val pretty : Format.formatter -> json -> unit +(** Datatype module signature *) module type S = sig type t @@ -75,6 +81,7 @@ sig val descr : Markdown.text end +(** Polymorphic data value *) type 'a data = (module S with type t = 'a) (* -------------------------------------------------------------------------- *)