plum
git clone https://git.pyrossh.dev/plum
A statically typed, imperative programming language inspired by rust, python
958912f
— Peter John
2026-10-26T21:44:47+05:30
docs(plans): task B — lowercase true/false literals
docs/plans/2026-10-27-zig-errors.md
CHANGED
|
@@ -115,3 +115,16 @@ Update the docs, the iteration cheat sheet, highlighting and the LSP method comp
|
|
|
115
115
|
- There are no migration hints for obsolete syntax anywhere: `legacySyntaxHint` and its tests are deleted, and removed syntax is an ordinary parse or type error.
|
|
116
116
|
- E4 migrates every caller and deletes the old syntax outright: Try/Ok/Err, `??`, `? |e|`, tag-union types, payload tags and `.unwrap()`/`.expect()`.
|
|
117
117
|
- Every hint test listed in E2 (`return_bare_tag_hint`, `elvis_removed_hint`, `tag_union_type_removed_hint`, `try_ok_err_removed_hints`, `fail_with_payload_rejected_hint`) is dropped.
|
|
118
|
+
|
|
119
|
+
## Task B (user request; runs after E1 and before E2): lowercase `true`/`false` literals
|
|
120
|
+
|
|
121
|
+
- `true`/`false` are keyword literals of the primitive `bool`, which is already wasm i32. `True`/`False` are removed, so a capitalized name is an ordinary identifier. There are no hints.
|
|
122
|
+
- `match` patterns are `true =>` / `false =>`, and exhaustiveness is unchanged.
|
|
123
|
+
- `toStr` and interpolation print `"true"`/`"false"`.
|
|
124
|
+
- Migrate std, examples, the README, embedded Rust test sources, corpus fixtures, highlights, the VS Code grammar and the LSP keywords.
|
|
125
|
+
|
|
126
|
+
Tests:
|
|
127
|
+
- `bool_literals_lowercase`;
|
|
128
|
+
- `bool_match_exhaustive`;
|
|
129
|
+
- `bool_tostr_lowercase`;
|
|
130
|
+
- `capital_True_is_plain_identifier` (unbound name error).
|