Module Segments.ThunkList

Parameters

Signature

type elt = K.t
type t = elt OSeq.t
val empty : 'a OSeq.t
val is_empty : 'a OSeq.t ‑> bool
val of_list : K.t list ‑> K.t OSeq.t
val return : 'a ‑> 'a OSeq.t
val to_seq : 'a OSeq.t ‑> ('a ‑> unit) ‑> unit
val pp : ?⁠sep:string ‑> 'a OSeq.printer ‑> 'a OSeq.t OSeq.printer
val memoize : 'a ‑> 'a
type drop =
| Drop
| Keep
val dropX : 'a ‑> 'a ‑> drop ‑> 'a
val merge_with : ('a OSeq.t ‑> unit ‑> 'b OSeq.node) ‑> ('c OSeq.t ‑> unit ‑> 'b OSeq.node) ‑> ('a ‑> 'c ‑> drop * drop * 'b option) ‑> 'a OSeq.t ‑> 'c OSeq.t ‑> 'b OSeq.t
val keep : 'a ‑> 'a
val drop : 'a ‑> 'b OSeq.t
val union : K.t OSeq.t ‑> K.t OSeq.t ‑> K.t OSeq.t
val inter : K.t OSeq.t ‑> K.t OSeq.t ‑> K.t OSeq.t
val diff : K.t OSeq.t ‑> K.t OSeq.t ‑> K.t OSeq.t
val append : K.t OSeq.t ‑> K.t OSeq.t ‑> K.t OSeq.t
val merge : (unit ‑> K.t OSeq.node) list ‑> K.t OSeq.t