Stream(3)
okay so this is Stream(3), bestie β the OCaml library page for streams and parsers, and it's giving main-character parser energy fr fr. π
β¨
β¨ NAME β¨
Stream β Streams and parsers. periodt.
π MODULE π
Module Stream β yes literally, that's the module bestie.
π DOCUMENTATION π
Module Stream : sig end
Streams and parsers. π¦
type 'a t
The type of streams holding values of type 'a. πΈ
exception Failureβ raised by parsers when none of the first components of the stream patterns is accepted.exception Error of stringβ raised by parsers when the first component of a stream pattern is accepted, but one of the following components is rejected.
π± Stream builders π±
val from : (int -> 'a option) -> 'a tβStream.from freturns a stream built from the functionf.
To create a new stream element, the function f is called with the current stream count. The user function f must return either Some <value> for a value or None to specify the end of the stream.
Do note that the indices passed to f may not start at 0 in the general case. For example, [< '0; '1; Stream.from f >] would call f the first time with count 2.
val of_list : 'a list -> 'a tβ Return the stream holding the elements of the list in the same order. π«Άval of_string : string -> char tβ Return the stream of the characters of the string parameter. πval of_bytes : bytes -> char tβ Return the stream of the characters of the bytes parameter.
π± Since 4.02.0
val of_channel : in_channel -> char tβ Return the stream of the characters read from the input channel. π
π Stream iterator π
val iter : ('a -> unit) -> 'a t -> unitβStream.iter f sscans the whole streams, applying functionfin turn to each stream element encountered. slay.
π§ Predefined parsers π§
val next : 'a t -> 'aβ Return the first element of the stream and remove it from the stream.
Raises Stream.Failure if the stream is empty.
val empty : 'a t -> unitβ Return()if the stream is empty, else raiseStream.Failure. π«Ά
π οΈ Useful functions π οΈ
val peek : 'a t -> 'a optionβ ReturnSomeof "the first element" of the stream, orNoneif the stream is empty. πval junk : 'a t -> unitβ Remove the first element of the stream, possibly unfreezing it before.val count : 'a t -> intβ Return the current count of the stream elements, i.e. the number of the stream elements discarded. π’val npeek : int -> 'a t -> 'a listβnpeek nreturns the list of thenfirst elements of the stream, or all its remaining elements if less thannelements are available. β¨
okay that's the whole page, bestie π β OCamldoc, dated 2026-09-24, for Stream(3). now go parse something iconic β¨π
π¦ where this page comes from
- alpine 3.24: ocaml-doc 4.14.4-r0 Β· LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms