Module Generic

module Generic: sig .. end
Main module for using the library.

Generic is the union of the namespaces Generic_util, Generic_view and Generic_core. The modules from namespace Generic_fun are merged except Generic_fun_uniplate, Generic_fun_multiplate and Generic_fun_marshal which are exported as modules of their own: Generic.Uniplate, Generic.Multiplate and Generic.SafeMarshal. Desc and Desc_fun are merged into Generic.Desc.


include Generic_util
include Generic_view
module Uniplate: Generic_fun_uniplate

Boilerplate-less traversals for recursive types.
module Multiplate: Generic_fun_multiplate

Boilerplate-less traversals, generalising uniplate to mutually recursive types.
module SafeMarshal: Generic_fun_marshal

Type-safe generic marshalling and unmarshalling operations.
module Gfun: sig .. end
Generic functions
module Ty: Generic_core_ty
Type witnesses.
module Ty_desc: Generic_core_ty_desc
Generic view for the type witnesses.
module Patterns: Generic_core_patterns
Functions on type patterns.
module Antiunify: Generic_core_antiunify
Anti-unification for type patterns.
module Repr: Generic_core_repr
Representation of abstract datatypes.
module Equal: Generic_core_equal
Type equality predicate.
module Product: Generic_core_product
Witness of product types.
module Extensible: Generic_core_extensible
Extensible type-indexed functions.
module Consumer: Generic_core_consumer
Extensible type-indexed consumers.
module Desc: sig .. end
Union of Generic_core_Desc and Generic_core_Desc_fun