Page
Library
Module
Module type
Parameter
Class
Class type
Source
Pidgin.KindSourceA Kind is a type of light type. It holds less information than a full-fledged type system and is used primarily for generating error messages (and perhaps, in the near future, for defunctionalize validation functions). Naively, they can be viewed as a representation that does not hold the value of a term described by Repr.t.
Even though the API is user-facing, it's best to build validators that allow users to ignore it.
The type describing a Kind. Unlike representations, a user does not want to manipulate them explicitly, which is why they remain private. (Not abstract for inspection)
For validation function, we want to be able to create kinds for error reporting. (Remember that kinds are mapped to Repr.t)
Describe the kind for Repr.float.
Describe the kind for Repr.string.
Describe the kind for Repr.record.
Build a tuple, if there is one value, it return it, otherwise it build a pair (possibly of pairs). Non Tail-recursive.