Module Tail

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).