plum
git clone https://git.pyrossh.dev/plum
A statically typed, imperative programming language inspired by rust, python
74beeb4
— Peter John
2026-11-06T14:52:03+05:30
plans: simpler language sizes
docs/plans/2026-11-06-simpler-language.md
CHANGED
|
@@ -140,7 +140,7 @@ e.g. `State(..s, ship.x: 1.0)` is `State(..s, ship: Ship(..s.ship, x: 1.0))`
|
|
|
140
140
|
### T8 std off return and while · Complexity 8 · Est. context 130k
|
|
141
141
|
**Owns:** std/**
|
|
142
142
|
**Components:** 2
|
|
143
|
-
**LOC owned:**
|
|
143
|
+
**LOC owned:** 2000
|
|
144
144
|
**Tests:** fast
|
|
145
145
|
**Consumes:** `self.items .= push(x)` means `self.items = self.items.push(x)` on a `mut` field; `State(..s, ship.x: 1.0)` updates a nested field without a temporary (T7)
|
|
146
146
|
**Produces:** std uses no `return`, `while`, `break`, `continue` or local `=`; std provides `fold`, `each`, `find`, `repeatUntil` over `range` and collections
|
|
@@ -151,7 +151,7 @@ e.g. `grep -rE '\breturn\b|^\s*while ' std` finds nothing in code
|
|
|
151
151
|
### T9 examples and tests off return and while · Complexity 6 · Est. context 110k
|
|
152
152
|
**Owns:** examples/**, tests/**, compiler/core/tests/**, compiler/checker/tests/**, compiler/wasm-codegen/tests/**, compiler/cli/tests/**, compiler/game/**
|
|
153
153
|
**Components:** 2
|
|
154
|
-
**LOC owned:**
|
|
154
|
+
**LOC owned:** 1800
|
|
155
155
|
**Tests:** fast
|
|
156
156
|
**Consumes:** std uses no `return`, `while`, `break`, `continue` or local `=`; std provides `fold`, `each`, `find`, `repeatUntil` over `range` and collections (T8)
|
|
157
157
|
**Produces:** no Plum source in examples, tests or Rust test strings uses the old forms, apart from tests of those forms themselves
|