prbnmcn-linalg
Make.S
type 'a m = 'a Repr.m
type pos
The type of (one-dimensional) positions in a shape.
type 'a t
The type of shapes, parametric in the type of positions.
val mem : 'a t -> 'a m -> bool m
mem p s is true iff p is a position in the shape s.
mem p s
p
s
val pos_equal : 'a t -> 'a m -> 'a m -> bool m
pos_equal s p p' is true iff p and p' are equal positions in the shape s.
pos_equal s p p'
p'
val equal : 'a t -> 'a t -> bool m
equal s s' is true iff s and s' describe equal shapes.
equal s s'
s'
module type Storage = sig ... end
First-class mutable storage.
type 'elt storage = (module Storage with type elt = 'elt)
val iter : ('a m -> unit m) -> 'a t -> unit m
Iterate on a shape.
val fold : 'acc storage -> ('a m -> 'acc m -> 'acc m) -> 'a t -> 'acc m -> 'acc m
Fold on a shape.
module Morphism : sig ... end
Shape morphisms, described as a category.