plum

#treesitter#compiler#wasm

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

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


99f93a2 — Peter John 2026-10-26T14:25:58+05:30
docs(plans): T8 on hold pending user approval
docs/plans/2026-10-26-zig-generics-and-numbers.md CHANGED
@@ -171,7 +171,7 @@ Tests:
171
171
 
172
172
  Update the README's Error handling section, plum-examples/error_propagation.plum (to `T ! [..]` with auto-wrap) and safe_navigation.plum (to `T?`). Migrate std signatures to the sugar where it reads better.
173
173
 
174
- ## Later task T8: near-free closures (user request; run after the game-plan language tasks L1-L3)
174
+ ## Later task T8: near-free closures — ON HOLD, ask the user before running (risk of code bloat; may be replaced by Pyret-style `for` iteration)
175
175
 
176
176
  - Every closure literal gets its own type, as in Rust and C++.
177
177
  - A closure literal passed directly to a generic or higher-order function (`units.filter(|u| u.hp > minHp)`) specializes that function's instantiation per closure literal and inlines the call. There is no `call_indirect`, and no heap env when the closure doesn't escape (captures become extra params or locals of the specialized copy).