package prbnmcn-dagger

  1. Overview
  2. Docs

Parameters

module M : Intf.Core
module R : sig ... end

Signature

type ('r, 'a) cont = {
  1. cont : 'b. ('a -> 'r -> 'b R.t -> 'b M.t) -> 'r -> 'b R.t -> 'b M.t;
}
type ('r, 'a) m = handler:'r handler -> ('r, 'a M.t) cont
and 'r handler = {
  1. handler : 'a 'b. 'a effect -> ('a M.t -> 'r -> 'b R.t -> 'b M.t) -> 'r -> 'b R.t -> 'b M.t;
}
val return : 'a 'r. 'a -> ('r, 'a) m
val if_ : (handler:'a -> ('b, bool M.t) cont) -> (bool -> handler:'c -> ('d, 'e) cont) -> handler:'f -> ('g, 'h) cont
val map : ('r, 'a) m -> ('a0 -> 'b) -> ('r0, 'b0) m
val map2 : ('r, 'a) m -> ('r0, 'b) m -> ('a0 -> 'b0 -> 'c) -> ('r1, 'c0) m
val map_array : ('r, 'a) m array -> ('a0 array -> 'b) -> ('r0, 'b0) m
val bind : ('r, 'a) m -> ('a0 -> ('r0, 'b) m) -> ('r1, 'b0) m
val handle : 'a effect -> handler:'b handler -> ('c, 'a M.t) cont
module Infix : sig ... end