b74c4cd5bf
cl-parser: Forego RAII scopeguard finalization pattern in impl Fold for ModuleInliner
...
We have an outer function *right there* to do cleanup for us.
2024-04-22 21:43:30 -05:00
0c518b47e6
cl-ast: Give Path some inherent methods
2024-04-22 21:04:30 -05:00
169f61144b
cl-ast: Fix typo in ast_impl::convert impl From<AsRef<str>> for PathPart
2024-04-22 20:52:12 -05:00
ed9b73a1a3
repline: Remove default-features from crossterm, since we don't use the event API
2024-04-22 02:18:57 -05:00
2ed8481489
cl-repl: Switch from argh to argwerk
2024-04-22 02:03:04 -05:00
f483d690e2
Revert "Cargo.toml: Add documentation
key"
...
This reverts commit 087969e117
.
2024-04-22 00:07:44 -05:00
087969e117
Cargo.toml: Add documentation
key
2024-04-21 23:49:24 -05:00
116d98437c
cl-typeck: Promote some top-module notes to doc comments
2024-04-21 23:42:45 -05:00
8121c1c8bb
Move typeck.rs from cl-repl to cl-typeck
2024-04-21 23:41:38 -05:00
bf16338166
cl-typeck: Outline all modules.
2024-04-21 23:05:06 -05:00
9449e5ba06
cl-typeck: Sketch out a new path resolver algorithm, and reparent some unused cruft
2024-04-21 22:48:52 -05:00
b796411742
cl-typeck: Module imports v0.1
...
- NameCollects use items
- Preprocesses them
- Uses no fancy algorithms
- Doesn't respect item visibility at all
- *declaration-order-dependent* :(
- works, though! :)
- TODO: Lazy evaluation of literally any of this stuff.
2024-04-21 22:43:25 -05:00
ef190f2d66
cl-structures: Add get_many_mut
implementation for Pool (currently delegates to unstable std)
2024-04-21 22:32:47 -05:00
9c3c2e8674
cl-parser: Implement a module inlining pass
2024-04-21 22:31:01 -05:00
02323ae6f2
cl-parser: Sync error::Parsing with cl-ast
2024-04-21 21:20:55 -05:00
e36a684422
grammar: Make UseTree less ultra-janky
2024-04-21 18:57:46 -05:00
5341631781
conlang: Add constructor expression for structs!
...
grammar:
- Add new rules `PathLike`, `Structor`, `Fielder`
- Replace Path with PathLike in Primary expressions
cl-ast:
- Add nodes for Structor and Fielder
cl-parser:
- Add branch to path-expression parsing
- Parse Structor bodies
interpret:
- Add TODO
2024-04-20 15:02:16 -05:00
efd442bbfa
conlang: Import items into scope with use
!
...
grammar:
- Improve specification of `Path`
- Add `Use` and `UseTree` rules
- Add `Use` as a variant of ItemKind
cl-token:
- Add new keywords `use` and `as`
cl-ast:
- Add nodes for Use and UseTree
- Add new ItemKind for Use
- Implement traversal in Visit and Fold
cl-interpret:
- Mark ItemKind::Use with a todo
cl-parser:
- Update to match grammar
cl-typeck:
- Update to match changes in AST
- Mark UseTrees as NameCollectable and TypeResolvable, but leave as todos
2024-04-20 14:51:54 -05:00
9dc0cc7841
cl-interpret: Give the interpreter a little love
...
And stop copying strings around.
2024-04-19 10:49:25 -05:00
90a3818ca0
conlang: Move all cl-libs into the compiler directory
2024-04-19 07:39:23 -05:00