Module Relude_RIO.WithError

Parameters

Signature

module IOE: { ... };
module M = IOE.MonadError;
type t('r, 'a) =
| RIO('r => M.t('a))
;
let make: r a. ('r => M.t('a)) => t('r'a);
let runRIO: r a. 'r => t('r'a) => M.t('a);
let mapRIO: r a b. (M.t('a) => M.t('b)) => t('r'a) => t('r'b);
let withRIO: r1 r2 a. ('r2 => 'r1) => t('r1'a) => t('r2'a);
let ask: r. t('r'r);
let asks: r a. ('r => 'a) => t('r'a);
let local: r a. ('r => 'r) => t('r'a) => t('r'a);
let map: r a b. ('a => 'b) => t('r'a) => t('r'b);
let apply: r a b. t('r'a => 'b) => t('r'a) => t('r'b);
let pure: r a. 'a => t('r'a);
let bind: r a b. t('r'a) => ('a => t('r'b)) => t('r'b);
let semiflatMap: r a b. ('a => M.t('b)) => t('r'a) => t('r'b);
let catchError: r a. (M.e => M.t('a)) => t('r'a) => t('r'a);
let throwError: r a. M.e => t('r'a);
let mapError: r a. (M.e => M.e) => t('r'a) => t('r'a);
module WithEnv: (R: BsBastet.Interface.TYPE) => { ... };

Locks in the reader environment type, so that we can implement the single-type-parameter type classes.