error/guard
Assert a condition, failing with an error if it is false
// 1. make an app
const app = mvfm(prelude, error);
// 2. make a program
const prog = app({ balance: "number" }, ($) => {
const withdrawal = 50;
return $.try(
$.begin(
$.guard($.gte($.input.balance, withdrawal), "insufficient funds"),
$.sub($.input.balance, withdrawal)
)
).catch((err) => $.concat("error: ", err));
});
// 3. run
await fold(
defaults(app),
injectInput(prog, { balance: 30 })
); Ctrl+Enter