package orsetto
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=6e6f59fc6a2c590b1b377e40f2120a548e6f09e61e7eb12ffa45cf2d517316b8
md5=533153cd4a9fe8093d3b98afc1073bc8
doc/orsetto.cf/Cf_emit/index.html
Module Cf_emit
Functional emitter/formatter combinators
Overview
In counterpart to
f_scan
, this module provides functional combinators for composing imperative emitters for various arbitrary output chanenls. Specializations are provided for
f_encode.emitter
, and the Buffer.t and Format.formatter types in the standard library.
Type
Use ('a, 'b) t to represent an emitter on channels of type 'a for values of type 'b.
Functions
val apply : ('a, 'b) t -> 'a -> 'b -> unitUse apply m c v to emit v on channel c with emitter m.
val nil : ('a, 'b) tThe empty emitter, performs no operation on the channel.
Use defer f to make an emitter that applies f to its value to select the sealed emitter for it.
Use map f m to make an emitter that applies its input value to f and emits the result with m.
val coded : 'a Cf_encode.scheme -> (Cf_encode.emitter, 'a) tUse coded sch to make a emitter combinator for sch.
Use pair a b to make an emitter for pairs of values where a is the emitter for the first value and b is the emitter for the second. If ~sep is provided, then it is inserted between the first and second values.
Use opt m to make an emitter for optional values. If ~none is provided, this its sealed value is emitter whenever the input of m is None.
Use seq m to make an emitter for sequences where each element is emitted with m. If ~sep is provided, then its sealed value is emitted between each element of the sequence.
Use group s to make a sealed emitter that emits all the sealed values in the sequence s. If ~sep is provided, then its sealed value is emitted between each element in the sequence.
Use encl ~a ~b m to make an emitter that first emits the sealed value in a, then provides its input to m, then emits the sealed value in b.
Abstract Data Renderers
module Render : sig ... endSpecializations for Buffer.t
module To_buffer : sig ... endSpecializations for Format.formatter
module To_formatter : sig ... end