package refl

  1. Overview
  2. Docs

Parameters

module T : BinaryTypeS

Signature

type ('a, 'b, 'occurrence) item =
  1. | None : (_, _, [ `Absent ]) item
  2. | Some : ('a, 'b) T.t -> ('a, 'b, _) item
type ('a, 'b, 'occurrences) t =
  1. | [] : (unit, unit, unit) t
  2. | :: : ('head_a, 'head_b, 'occurrence) item * ('tail_a, 'tail_b, 'occurrences) t -> ('head_a * 'tail_a, 'head_b * 'tail_b, 'occurrence * 'occurrences) t
val get : 'index 'a 'b 'value_a 'value_b 'positive 'occurrences. ('index, 'a, 'value_a, 'positive, 'occurrences) Refl__.Desc.variable -> ('index, 'b, 'value_b, 'positive, 'occurrences) Refl__.Desc.variable -> ('a, 'b, 'occurrences) t -> ('value_a, 'value_b) T.t
val make_transfer : 'source 'sub 'arg 'a 'b. ('source, 'sub, 'arg) Refl__.Desc.transfer_arguments -> ('a, 'b, 'source) t -> (('a, 'b, 'arg) t, ('sub, [ `Absent ]) Refl__.Desc.eq) result
type ('arity_a, 'arity_b, 'rec_group, 'kinds, 'gadt_a, 'gadt_b) make = {
  1. f : 'a 'b 'structure 'ap 'an 'ad. ('a, 'structure, 'arity_a, 'rec_group, 'kinds, 'ap, 'an, 'ad, 'gadt_a) Refl__.Desc.desc -> ('b, 'structure, 'arity_b, 'rec_group, 'kinds, 'ap, 'an, 'ad, 'gadt_b) Refl__.Desc.desc -> ('arity_a, 'arity_b, 'ad) t -> ('a, 'b) T.t;
}
val make : 'types_a 'types_b 'structures 'subpositive 'subnegative 'subdirect 'arguments 'gadt_a 'gadt_b. ('arity_a, 'arity_b, 'rec_group, 'kinds, 'gadt_a, 'gadt_b) make -> ('types_a, 'structures, 'arity_a, 'rec_group, 'kinds, 'arguments, 'gadt_a) Refl__.Desc.vector -> ('types_b, 'structures, 'arity_b, 'rec_group, 'kinds, 'arguments, 'gadt_b) Refl__.Desc.vector -> ('positive, 'negative, 'direct, 'subpositive, 'subnegative, 'subdirect, 'arguments) Refl__.Desc.transfer -> ('arity_a, 'arity_b, 'direct) t -> ('types_a, 'types_b, 'subdirect) t
type 'presence any =
  1. | None : [ `Absent ] any
  2. | Some : {
    1. item : 'a 'b. ('a, 'b) T.t;
    } -> _ any
val append : 'count 'directs 'types_a 'types_b 'a 'b 'sub_a 'sub_b 'direct 'subdirect 'presence. 'presence any -> ('presence, 'directs) Refl__.Desc.presences -> ('count, 'directs) Refl__.Desc.length -> ('directs, 'direct, 'subdirect) Refl__.Desc.append -> ('count, 'types_a) Refl__.Desc.length -> ('types_a, 'a, 'sub_a) Refl__.Desc.append -> ('count, 'types_b) Refl__.Desc.length -> ('types_b, 'b, 'sub_b) Refl__.Desc.append -> ('a, 'b, 'direct) t -> ('sub_a, 'sub_b, 'subdirect) t