Yocaml.RequiredSignatures enabling modules to be created, via functors or first-class modules.
type provider_error = | Parsing_error of {}| Validation_error of {entity : string;error : Data.Validation.value_error;}| Required_metadata of {}module type DATA_PROVIDER = sig ... endA Data Provider is used to deserialise metadata to data of type Yocaml.Data.t in order to apply validations.
module type DATA_READABLE = sig ... endDescribes a type capable of being readable as metadata of type Yocaml.Data.t. Used to lift a module into a validator for data described by a Yocaml.Required.DATA_PROVIDER.
module type DATA_INJECTABLE = sig ... endDescribes a type capable of being injected as metadata of type Yocaml.Data.t. Used to lift a module into an injecter of arbitrary types to a template (for example).
module type DATA_TEMPLATE = sig ... endDescribes a language capable of applying a template by assigning data to it (normalized using Yocaml.Required.DATA_INJECTABLE).
module type DATA_READER = sig ... endDescribes a provider for reading Metadata from a DATA_PROVIDER.
A runtime is a context for executing a YOCaml program (for example, Unix). It allows all the primitives described by the effects to be implemented without having to worry about implementing an effects handler.
module type RUNTIME = sig ... endA Runner is used to run a Yocaml program in the context of a Yocaml.Required.RUNTIME.
module type RUNNER = sig ... end