package kot

  1. Overview
  2. Docs

Module Kot.LinkedBufferSource

Sourcetype 'a buffer
Sourceval empty : 'a buffer
Sourceval length : 'a buffer -> int
Sourceval is_empty : 'a buffer -> bool
Sourceval push : 'a -> 'a buffer -> 'a buffer
Sourceval pop : 'a buffer -> 'a * 'a buffer
Sourceval first : 'a buffer -> 'a

first b returns the first element of the buffer b, which must be nonempty. It is equivalent to fst (pop b).

Sourceval inject : 'a buffer -> 'a -> 'a buffer
Sourceval eject : 'a buffer -> 'a buffer * 'a
Sourceval last : 'a buffer -> 'a

last b returns the last element of the buffer b, which must be nonempty. It is equivalent to snd (eject b).

Sourceval map : ('a -> 'b) -> 'a buffer -> 'b buffer
Sourceval fold_left : ('b -> 'a -> 'b) -> 'b -> 'a buffer -> 'b
Sourceval fold_right : ('a -> 'b -> 'b) -> 'a buffer -> 'b -> 'b