package algaeff

  1. Overview
  2. Docs

Effects for reading immutable environments.

module R = Algaeff.Reader.Make (Int)

let () = R.run ~env:42 @@ fun () ->
  (* this will print out 42 *)
  print_int (R.read ());

  (* this will print out 43 *)
  R.scope (fun i -> i + 1) (fun () -> print_int (R.read ()));

  (* this will print out 42 again *)
  print_int (R.read ())
module type S = sig ... end

Signatures of read effects.

module Make (Env : Sigs.Type) : S with type env := Env.t

The implementation of read effects.