plum

#treesitter#compiler#wasm

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

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


plum-tooling/tree-sitter-plum/src/parser.c
43e5250Peter John 2026-09-08T15:22:00+05:30
feat: add Groovy/Kotlin-style safe navigation operator (?.)
ec5336fPeter John 2026-09-08T13:13:12+05:30
feat(lang): add elvis `?:` operator
af1776bPeter John 2026-09-08T12:57:14+05:30
feat(lang): add postfix `?` error-propagation operator
5f2f962Peter John 2026-09-08T12:01:22+05:30
feat(lang): remove type/class entirely, enum is the only declaration form
13507faPeter John 2026-09-07T15:28:19+05:30
feat(class/enum): mutable fields + Gleam-style spread update
984357bPeter John 2026-09-05T21:35:44+05:30
rename folders
287b97cPeter John 2026-09-04T21:23:50+05:30
feat(plum): reserve brackets for generics, enum variant payloads use parens
a9a0147Peter John 2026-09-04T14:56:44+05:30
feat(plum): remove expect, unify on assert, Spock-style test tree output
3a2119ePeter John 2026-09-04T14:06:41+05:30
feat(plum): named enum variant fields, self-methods on enums/classes, inline match formatting
4a2384cPeter John 2026-09-03T19:08:24+05:30
feat(plum): class init() constructors, bare-variant enum sugar, match guards
04d2270Peter John 2026-09-03T15:31:57+05:30
fix(tree-sitter-plum): a ternary as a closure's inline body now parses correctly
2ec05c8Peter John 2026-09-02T19:57:50+05:30
feat(libs/std): complete os/time/uuid, add Option/Result generics; fix several monomorphization/parser bugs
a43f3afPeter John 2026-08-29T17:12:19+05:30
improvements
a271f34Peter John 2026-08-27T19:20:16+05:30
improvements
6b5d9dbPeter John 2026-08-09T21:01:06+05:30
feat(grammar): remove top-level <Receiver> method annotation syntax
8554271Peter John 2026-08-09T18:45:49+05:30
feat(grammar): add enum discriminant-value declarations
f047082Peter John 2026-08-09T18:37:28+05:30
feat(grammar): allow methods nested inside type/enum bodies
c06ddbaPeter John 2026-08-09T18:35:20+05:30
feat(grammar): add `fun` keyword to function/method declarations
608d862Peter John 2026-07-24T12:38:06+05:30
feat(grammar): add subject-less guard-clause match arms
8f91d27Peter John 2026-07-24T11:03:43+05:30
feat(grammar): migrate generics to bracket syntax with uppercase letters
391c8e4Peter John 2026-07-23T18:41:41+05:30
feat(tree-sitter-plum): add field_target rule for obj.field = value assignment
141de54Peter John 2026-07-21T10:13:36+05:30
fix
4ba0db3Peter John 2026-07-20T22:22:15+05:30
feat(plum-wasm-codegen): compile closure literals and closure calls via a function table
906b92ePeter John 2026-07-20T21:29:37+05:30
feat(tree-sitter-plum): wire closure literals into expression position; add fn(...) type syntax
c273ea5Peter John 2026-07-20T16:01:25+05:30
fix(plum-checker): stop masking type errors in specializations; resolve generic enum instantiation
aeaba6fPeter John 2026-07-20T13:13:45+05:30
fix(tree-sitter-plum): allow a full expression as a body's trailing statement
96ec67fPeter John 2026-07-20T11:22:20+05:30
feat(tree-sitter-plum): allow positional variant-construction calls
660674cPeter John 2026-07-19T22:17:37+05:30
fix(tree-sitter-plum): remove Nil/try/except, allow inline match bodies
f502d22Peter John 2026-07-19T21:40:20+05:30
fix(tree-sitter-plum): fix match/generics/identifier/attribute grammar bugs
e9b4405pyrossh 2024-12-30T13:29:21+05:30
more stuff
0d8e2abpyrossh 2024-12-18T21:48:44+05:30
add cargo pkg
58cc293pyrossh 2024-12-18T16:44:58+05:30
finish syntax
59e3de6pyrossh 2024-12-18T10:45:39+05:30
fix traits
1910cfcpyrossh 2024-12-18T10:34:12+05:30
fix tests
5b84889pyrossh 2024-12-18T10:24:09+05:30
fix assign
9e7927cpyrossh 2024-12-18T10:17:06+05:30
fix tests
4aca0b2pyrossh 2024-12-18T00:40:00+05:30
improve highlights
0d43379pyrossh 2024-12-17T15:08:34+05:30
improve string
c05610cpyrossh 2024-12-17T13:04:14+05:30
improve lang
419a88fpyrossh 2024-12-13T22:54:16+05:30
improce code
d322d05pyrossh 2024-12-12T13:31:25+05:30
add better syntax
5de508epyrossh 2024-12-11T14:00:50+05:30
changes
fd085d9pyrossh 2024-11-22T21:00:27+05:30
new rules
f997beepyrossh 2024-11-18T11:11:03+05:30
fix parser
1675049Peter John 2024-11-05T11:25:58+05:30
new syntax
2634d00Peter John 2024-08-30T13:19:01+05:30
improve grammar
efe15dbPeter John 2024-08-25T15:50:44+05:30
improve grammar
fc68ba7Peter John 2024-08-17T22:38:01+05:30
assign works
5d12d71Peter John 2024-08-17T16:59:50+05:30
update tree-sitter and grammar
4bd2c1cPeter John 2024-08-15T21:36:27+05:30
add vscode/treesitter