MVFM

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