edf175e53b
cl-typeck: Add utilities for HM-style type inference via unification
2024-05-04 22:12:33 -05:00
6aea23c8ba
cl-ast/desugar: Turn all paths into absolute paths
2024-04-29 16:25:30 -05:00
7c73fd335c
cl-typeck: Store def metadata in a Node
...
I'm not overly proud of this code, but it currently works. Will refactor later.
2024-04-29 15:40:30 -05:00
3fe5916a4f
cl-ast: Switch from old string interner to new string interner
...
Update cl-parser, et. al. to match.
2024-04-27 20:24:11 -05:00
ecf97801d6
cl-typeck: Use helper functions on module to insert into the various namespaces
2024-04-27 16:10:22 -05:00
9566f098ac
cl-typeck: Remove NameCollectable trait, use NameCollector instead :D
2024-04-27 16:05:40 -05:00
b9085551e1
cl-typeck: Reimplement NameCollectable in terms of an AST visitor
2024-04-27 15:51:37 -05:00
893b716c86
cl-structures: Rename the deprecated "intern pool" (lmao)
...
Don't deprecate it yet, though, we've got more stuff yet.
2024-04-25 23:53:44 -05:00
e49b171bea
Rename DefItem/DefSource/DefSorcerer to better reflect their meaning
2024-04-25 16:07:26 -05:00
901e9d1d5b
cl-typeck: Remove nightly-only debug_closure_helpers
2024-04-25 15:55:32 -05:00
aa3f357fca
conlang: Misc. doc fixes
2024-04-24 20:05:55 -05:00
40ec9b30e4
conlang: Use interned strings (Sym
) for all symbols
2024-04-24 19:34:29 -05:00
8453b092f1
cl-typeck: Fix list in doc comment getting mistaken for a doctest
2024-04-24 16:50:30 -05:00
42307d2ab4
cl-typeck: Sketch out a new way to store definition metadata
2024-04-22 23:17:50 -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
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
90a3818ca0
conlang: Move all cl-libs into the compiler directory
2024-04-19 07:39:23 -05:00