error/settle
Collect results from multiple expressions, accumulating successes and failures
// 1. make an app
const app = mvfm(prelude, error);
// 2. make a program
const prog = app({ x: "number" }, ($) => {
const a = $.mul($.input.x, 2);
const b = $.cond($.gt($.input.x, 5))
.t($.input.x)
.f($.fail("x too small"));
const c = $.add($.input.x, 100);
return $.settle(a, b, c);
});
// 3. run
await fold(
defaults(app),
injectInput(prog, { x: 3 })
); Ctrl+Enter