package octez-libs

  1. Overview
  2. Docs
A package that contains multiple base libraries used by the Octez suite

Install

Dune Dependency

Authors

Maintainers

Sources

tezos-18.1.tar.gz
sha256=aa2f5bc99cc4ca2217c52a1af2a2cdfd3b383208cb859ca2e79ca0903396ca1d
sha512=d68bb3eb615e3dcccc845fddfc9901c95b3c6dc8e105e39522ce97637b1308a7fa7aa1d271351d5933febd7476b2819e1694f31198f1f0919681f1f9cc97cb3a

doc/octez-libs.test-helpers/Tezos_test_helpers/Qcheck_extra/Monad/index.html

Module Qcheck_extra.MonadSource

Monad extends the Applicative type class with a new function join. join takes a value in a nested context a t t and joins them together so that we have a single context a t.

We can define let* in terms of join and vice versa:

let ( let* ) x f = join (map f x)
let join x =
  let* y = x in
  y

assuming

( let* ) = bind .

A Monad should satisfy:

  • Associativity: (f >=> g) >=> h = f >=> (g >=> h)
  • Identities: return >=> f = f = f >=> return

assuming

( let* ) = bind .

and

 f >=> g =
  fun x ->
    let* y = f x in
    let* z = g y in
    return z
Sourcemodule type S = sig ... end
Sourcemodule Syntax (M : S) : sig ... end

Utility to import let-syntax for any Monad.

OCaml

Innovation. Community. Security.