module Tail: Tail
type 'a
t = ('a, Execution_context.t) Raw_tail.t
val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
val create : unit -> 'a t
create ()
returns a new tail.
val extend : 'a t -> 'a -> unit
extend t v
extends the stream, and will raise an exception if t
has been
closed.
val close_exn : 'a t -> unit
close_exn t
closes t
. Subsequent calls to close_exn
or extend
will raise an exception.
val close_if_open : 'a t -> unit
close_if_open t
closes t
, if it's not already closed. If t
is already
closed, then this is a no-op.
val is_closed : 'a t -> bool
is_closed t
returns true iff the stream t
is closed.
val collect : 'a t -> ('a, Execution_context.t) Raw_stream.t
collect t
returns the stream starting at the current position of the
tail (i.e. the stream consisting of all subsequent extends).