Commit Graph

14 Commits

Author SHA1 Message Date
c7e2e3d31d ast: pub patterns, and, since Pat replaced Ty, !(never) patterns. 2025-10-21 07:42:04 -04:00
ccb6bef6d9 ast: Add use, tackle remaining low-hanging fruit 2025-10-21 07:09:12 -04:00
b80a3a55c3 ast: Merge Ty into Pat, merge Mod and Fn into Bind 2025-10-20 04:24:21 -04:00
0015ac5f1b ast: rename Let to Bind 2025-10-20 00:39:56 -04:00
458e95a8ed AST: merge let, const, static, match_arm into one binder 2025-10-20 00:21:49 -04:00
e1419fa430 doughlang: enums, ref patterns, ref types 2025-10-16 06:53:09 -04:00
1998558468 doughlang: "fix" semi elision, add "fully qualified" paths, add proper pattern prec parsing.
This actually gets some old code parsing!
2025-10-16 05:49:02 -04:00
03d9682409 doughlang: let else, fn rety
ast:
- `let Pat (= Expr (else Expr)?)?`,
- `fn (args) -> Ty`, coagulating `do`, `if/while` formatting fixes

parser:
- int cleanup,
- fn rety parsing,
- experimental `for` desugar,
- experimental semicolon elision (TODO: it sucks),
- let-else parsing
- `do` coagulation impl (still not 100% there)

TODO:
- Fix `do` coagulation
- codify `do` elision rules
- `for` needs lib support
  - this is fine because we have no codegen yet
- Ty matching in macro_matcher
  - Or rip out macro_matcher? Who knows what the future holds.
2025-10-16 01:51:14 -04:00
222b2d7b98 ast: struct 2025-10-07 05:00:51 -04:00
bcabbcd39d ast: pub, mod, and Ty::Fn parsing 2025-09-30 15:32:20 -04:00
8640ec4261 ast: fn main, structification
parser: unified post/infix, context-full grammar
repl: modes
2025-09-21 02:57:20 -04:00
7b05da1334 do: Elaborate on pattern syntax, add binary as operator 2025-09-16 04:18:12 -04:00
b6949147c4 parser: Refactor coagulated binops as postfix operators
This allows them to intermingle more nicely with `Try`
2025-09-15 10:28:08 -04:00
baf94a9dab matchers: rename to "macro_matchers" 2025-09-15 10:25:50 -04:00