package pidgin
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=4a5f22a2d44573b2685df05298f7f3600c6647b4693c454555d37a869939ab55
sha512=39222a04a253fd5653878348962af36793aaec94971737967d19d78df5bd0c90cf114d794daab0413e88a235db5010463abb67d7b63c33e923753ee88458cfc6
doc/pidgin/Pidgin/Kind/index.html
Module Pidgin.KindSource
A 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.
Types
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)
Inference/Deduction
Building kinds
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.