MVFM

core/record

Record construction — building an object with multiple named fields

// 1. make an app
const app = mvfm(prelude);

// 2. make a program
const prog = app({ x: "number", label: "string" }, ($) => {
  const doubled = $.mul($.input.x, 2);
  // Object literals auto-lift to core/record nodes
  return { value: doubled, tag: $.input.label };
});

// 3. run
await fold(
  defaults(app),
  injectInput(prog, { x: 5, label: "result" })
);
Ctrl+Enter