Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
A set of functions that construct representations of OCaml values.
The string representations produced by these functions are supposed to be accepted by the OCaml parser as valid values.
The signature of this module is compatible with that expected by the camlp4
generator Camlp4RepresentationGenerator
.
These functions do not distinguish between mutable and immutable values. They do not recognize sharing, and do not incorporate a protection against cyclic values.
type representation = PPrintEngine.document
A representation of a value is a PPrint
document.
val variant :
type_name ->
constructor ->
tag ->
representation list ->
representation
variant _ dc _ args
is a description of a constructed value whose data constructor is dc
and whose arguments are args
. The other two parameters are presently unused.
val record :
type_name ->
(record_field * representation) list ->
representation
record _ fields
is a description of a record value whose fields are fields
. The other parameter is presently unused.
val tuple : representation list -> representation
tuple args
is a description of a tuple value whose components are args
.
val string : string -> representation
string s
is a representation of the string s
.
val int : int -> representation
int i
is a representation of the integer i
.
val int32 : int32 -> representation
int32 i
is a representation of the 32-bit integer i
.
val int64 : int64 -> representation
int64 i
is a representation of the 64-bit integer i
.
val nativeint : nativeint -> representation
nativeint i
is a representation of the native integer i
.
val float : float -> representation
float f
is a representation of the floating-point number f
.
val char : char -> representation
char c
is a representation of the character c
.
val bool : bool -> representation
bool b
is a representation of the Boolenan value b
.
val unit : representation
unit
is a representation of the unit constant ()
.
val option : ('a -> representation) -> 'a option -> representation
option f o
is a representation of the option o
, where the representation of the element, if present, is computed by the function f
.
val list : ('a -> representation) -> 'a list -> representation
list f xs
is a representation of the list xs
, where the representation of each element is computed by the function f
. If the whole list fits on a single line, then it is printed on a single line; otherwise each element is printed on a separate line.
val flowing_list : ('a -> representation) -> 'a list -> representation
flowing_list f xs
is a representation of the list xs
, where the representation of each element is computed by the function f
. As many elements are possible are printed on each line.
val array : ('a -> representation) -> 'a array -> representation
array f xs
is a representation of the array xs
, where the representation of each element is computed by the function f
. If the whole array fits on a single line, then it is printed on a single line; otherwise each element is printed on a separate line.
val flowing_array : ('a -> representation) -> 'a array -> representation
flowing_array f xs
is a representation of the array xs
, where the representation of each element is computed by the function f
. As many elements are possible are printed on each line.
val ref : ('a -> representation) -> 'a ref -> representation
ref r
is a representation of the reference r
, where the representation of the content is computed by the function f
.
val unknown : type_name -> 'a -> representation
unknown t _
is a representation of an unknown value of type t
.