plum

#treesitter#compiler#wasm

git clone https://git.pyrossh.dev/plum

A statically typed, imperative programming language inspired by rust, python


523050a — Peter John 2026-10-26T15:52:51+05:30
docs(plans): T9 addendum — *T sequence params and closure-free chaining
docs/plans/2026-10-26-zig-generics-and-numbers.md CHANGED
@@ -228,3 +228,15 @@ Tests:
228
228
  - `binder_arity_mismatch`.
229
229
 
230
230
  Update the README iteration section and the formatter/highlight queries.
231
+
232
+ ### T9 addendum (user-approved): closure-free chaining
233
+
234
+ - A `fun*` may take a `*T` sequence parameter. It accepts a List/Array/indexable value or a nested `fun*` call, and can never be stored, returned or captured, so nested adapters fuse into one loop.
235
+ - Std adapters: `take`, `skip`, `indexed`, `zip`, `reversed`, `chunks`, `stepBy`. All forms accept `*T` sources.
236
+ - The chain model:
237
+ - filter is `, if cond`;
238
+ - map is `, name := expr`;
239
+ - the terminal step is the outer form plus its body;
240
+ - body-less stages nest as sources;
241
+ - sort and group are separate statements.
242
+ - Docs: the README iteration section and `plum-examples/chains.plum`.