package caqti

  1. Overview
  2. Docs
Unified interface to relational database libraries

Install

Dune Dependency

Authors

Maintainers

Sources

caqti-v2.1.2.tbz
sha256=ba4dfd5ff94376b5e003f682410b7b3b392c0bbaa0253679fe7671c2e07e895b
sha512=0416807fba620429ee4d64f3a6991238112e0e10dfba9703dced46cf332fd22135a9873007d025441228ce66fb192bf730d4bc776dd2c1a973d7604ab6e789e0

doc/caqti.platform/Caqti_platform/Stream/Make/index.html

Module Stream.MakeSource

Constructs a stream for the provided concurrency monad.

Parameters

module Fiber : FIBER

Signature

Sourcetype ('a, 'err) t = unit -> ('a, 'err) node Fiber.t

A stream, represented as a lazy chain of Cons-nodes terminating in a Nil or an Error.

Sourceand ('a, 'err) node =
  1. | Nil
    (*

    The node of an empty stream

    *)
  2. | Error of 'err
    (*

    A node of a permanently failed stream.

    *)
  3. | Cons of 'a * ('a, 'err) t
    (*

    A node holding the next element and continuation of a stream.

    *)
Sourceval fold : f:('a -> 'state -> 'state) -> ('a, 'err) t -> 'state -> ('state, 'err) result Fiber.t

fold ~f stream acc consumes the remainder elements e1, ..., eN of stream and returns Ok (acc |> f e1 |> ... |> f eN) if no error occurred

Sourceval fold_s : f:('a -> 'state -> ('state, 'err) result Fiber.t) -> ('a, 'clog) t -> 'state -> ('state, [> `Congested of 'clog ] as 'err) result Fiber.t

fold_s ~f stream acc consumes the remainder of stream, passing each element in order to f along with the latest accumulation starting at acc, and returning the final accumulation if successful. An error result may be due to either the stream provider or the callback, as distinguished with the `Congested constructor.

Sourceval iter_s : f:('a -> (unit, 'err) result Fiber.t) -> ('a, 'clog) t -> (unit, [> `Congested of 'clog ] as 'err) result Fiber.t

iter_s ~f stream consumes the remainder of stream, passing each element in order to f. An error result may be due to either the steram provider or the callback, as distinguished with the `Congested constructor.

Sourceval to_rev_list : ('a, 'err) t -> ('a list, 'err) result Fiber.t

to_rev_list stream consumes the remainder of stream, returning a list of its element in reverse order of production.

Sourceval to_list : ('a, 'err) t -> ('a list, 'err) result Fiber.t

to_list stream consumes the remainder of stream, returning a list of its element in order of production.

Sourceval of_list : 'a list -> ('a, 'err) t

of_list xs is a non-failing finite stream (re)producing the elements xs in order of occurrence.

Sourceval map_result : f:('a -> ('b, 'err) result) -> ('a, 'err) t -> ('b, 'err) t
OCaml

Innovation. Community. Security.