Module Row.Private

Private functions.

type ('r, 'a) prod' =
  1. | Unit : 'a -> ('r, 'a) prod'
  2. | Prod : ('r, 'a -> 'b) prod' * ('r, 'a) Col.t -> ('r, 'b) prod'
  3. | Cat : ('r, 'a -> 'b) prod' * ('r -> 'a) * ('a, 'a) prod' -> ('r, 'b) prod'

The type for products. See Row.prod.

val prod_of_prod : ('r, 'a) prod -> ('r, 'a) prod'

prod_of_prod p is the representation of p.

val prod_to_prod : ('r, 'a) prod' -> ('r, 'a) prod

prod_to_prod p is the representee of p.

val row_of_cols : ('a -> 'b) Col.v list -> ('a -> 'b) t

row_of_cols cs is a row that contains columns cs. The result is unusable, except for column functions.