plum

#treesitter#compiler#wasm

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

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


d115ac5 — Peter John 2026-10-26T10:34:33+05:30
docs(plans): mark game plan T1/T4 superseded
docs/plans/2026-10-26-game-engine.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # Plum for games (macroquad host, sized numbers, value structs, SIMD)
2
2
 
3
3
  **Status:** draft. Planned only, not dispatched, because the user has more ideas to fold in first.
4
+ **Superseded in part:** Design item 1 with T1 (sized numbers), and T4 (operator traits), now live in `2026-10-26-zig-generics-and-numbers.md`. That plan has the sized types with I32/F32 literal defaults, and no traits: operators are duck-typed methods, and enums replace trait types.
4
5
  **Goal:** Let Plum write game logic and rendering, running on a macroquad-based host. Natively first, then in the browser.
5
6
  **Architecture:** Plum source → checker → erased wasm-gc codegen → `plum-game`, a Rust crate built on macroquad and wasmtime that drives `init`/`update`/`draw` each frame.
6
7
  **Tech stack:** Rust, macroquad, wasmtime (GC, multi-value and SIMD enabled), wasm-encoder.