package refl

  1. Overview
  2. Docs

Module Tools.VariantSource

Sourcetype ('types, 'structure, 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt) argument =
  1. | None : (unit, unit, 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt) argument
  2. | Some : {
    1. desc : ('a, 'structure, 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt) Refl__.Desc.desc;
    2. value : 'a;
    } -> ('a * unit, 'structure * unit, 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt) argument
Sourceval map_choice : 'a_cases 'b_cases 'structures. ('a_arity, 'b_arity, 'rec_group, 'kinds_a, 'kinds_b, 'positive, 'negative, 'direct, 'gadt) map -> ('a_cases, 'structures, 'a_arity, 'rec_group, 'kinds_a, 'positive, 'negative, 'direct, 'gadt) Refl__.Desc.variant_constructors -> ('b_cases, 'structures, 'b_arity, 'rec_group, 'kinds_b, 'positive, 'negative, 'direct, 'gadt) Refl__.Desc.variant_constructors -> 'a_cases Refl__.Desc.choice -> 'b_cases Refl__.Desc.choice
Sourcetype ('types, 'structure, 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt) kind =
  1. | Constructor : {
    1. name : string;
    2. argument : ('types, 'structure, 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt) argument;
    } -> ('types, [ `Constr of 'structure ], 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt) kind
  2. | Inherit : {
    1. desc : ('a, 'structure, 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt) Refl__.Desc.desc;
    2. value : 'a;
    } -> ('a, [ `Inherit of 'structure ], 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt) kind
Sourcetype ('cases, 'structures, 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt) destruct =
  1. | Destruct : {
    1. constructors : ('cases, 'structures, 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt) Refl__.Desc.variant_constructors;
    2. index : ([ `Succ of 'index ], 'cases, 'types, _) Refl__.Desc.selection;
    3. index_desc : ([ `Succ of 'index ], 'structures, 'structure, _) Refl__.Desc.selection;
    4. constructor : ('types, 'structure, 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt) Refl__.Desc.variant_constructor;
    5. kind : ('types, 'structure, 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt) kind;
    } -> ('cases, 'structures, 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt) destruct
Sourceval destruct_choice : 'index 'types 'structure 'tail_cases 'tail_structures. ('cases, 'structures, 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt) Refl__.Desc.variant_constructors -> ('index, 'cases, 'types, 'tail_cases) Refl__.Desc.selection -> ('index, 'structures, 'structure, 'tail_structures) Refl__.Desc.selection -> ('tail_cases, 'tail_structures, 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt) Refl__.Desc.variant_constructors -> 'tail_cases Refl__.Desc.choice -> ('cases, 'structures, 'arity, 'rec_group, 'kinds, 'positive, 'negative, 'direct, 'gadt) destruct
Sourceval destruct : ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i) Refl__.Desc.variant_constructors -> 'a Refl__.Desc.choice -> ('a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, 'i) destruct
OCaml

Innovation. Community. Security.