Core language
Records and arrays
Use record literals, arrays, and explicit spread forms.
What
Records and arrays are ordinary values with predictable update patterns.
let point := { x := 3, y := 4 };
let values := [1, 2, 3];Why
They keep data structured and avoid mixing unrelated values into one flat tuple.
How
Build values with literals, then use spread/update forms when you need a modified copy.
let point3 := { ...point, z := 5 };
let extended := [0, ...values];When
Use these forms for request payloads, config objects, and small in-memory collections.
Analogy
Like object/array literals in JS, with explicit update syntax.
Try it
Create a base value then build one spread-based variant, then continue to Effects and handlers.
github.com/musi-lang/musi
musi-lang.com