Library
Module
Module type
Parameter
Class
Class type
This module define flow devices and combinators for MirageOS.
Release v1.5.0
val pp_write_error : write_error Fmt.t
pp_write_error
is the pretty-printer for write errors.
module type ABSTRACT = sig ... end
Abstract flow signature.
module type S = ABSTRACT with type write_error = private [> write_error ]
The main FLOW
signature, where write_errors
is a private row type. Note: ideally error
should be the empty row, but not easy way to express this in OCaml.
module type CONCRETE =
ABSTRACT
with type error = [ `Msg of string ]
and type write_error = [ write_error | `Msg of string ]
CONCRETE
expose the private row as `Msg str
errors, using pp_error
and pp_write_error
.
module Concrete
(S : S)
(IO : sig ... end) :
CONCRETE
with type 'a io = 'a S.io
and type buffer = S.buffer
and type flow = S.flow
Functor to transform a flow signature using private rows for errors into concrete error types.
module type SHUTDOWNABLE = sig ... end