Greg Shuflin
4c6a93302d
Support Record patterns
2021-11-01 13:48:04 -07:00
Greg Shuflin
d084deac80
Start to correctly implmeent builtin functions
2021-10-31 03:13:51 -07:00
Greg Shuflin
803a836887
Implement immediate records
2021-10-31 02:30:38 -07:00
Greg Shuflin
ea494bb328
Fix a number of TODOs
...
Add def -> symbol lookup table
Minor syntax changes
2021-10-30 17:38:16 -07:00
Greg Shuflin
304df5c50e
Remove arity from ReducedIR, symbol table
...
Instead look this up via the type context
2021-10-29 19:00:27 -07:00
Greg Shuflin
6b9ca92e00
Have TypeContext calculate tag numbers
2021-10-29 17:27:21 -07:00
Greg Shuflin
209b6bba48
Start adding infrastructure for defining new types
2021-10-29 12:12:41 -07:00
Greg Shuflin
cec0f35fc3
Add test for duplicate variant check
2021-10-29 00:48:44 -07:00
Greg Shuflin
30fbc9a721
Add test for duplicate types in symbol table
2021-10-29 00:28:05 -07:00
Greg Shuflin
765a0bec58
Make use of TypeContext in SymbolTable
2021-10-27 15:39:53 -07:00
Greg Shuflin
6a7c88cd02
Fix clippy
2021-10-27 01:17:53 -07:00
Greg Shuflin
08590430e4
Move minimal typechecking code into directory-style module
2021-10-27 01:11:46 -07:00
Greg Shuflin
d65233240a
Unify u32-based identifiers into common code
...
Create a new type Id<T> paramaterized by whatever specific class of IDs
is relevant to a domain; create stores and macros to support this; and
repace the existing Id types.
2021-10-27 00:36:23 -07:00
Greg Shuflin
0c6d2be95a
Use term "tag" consistently with type u32
2021-10-26 15:45:41 -07:00
Greg Shuflin
3402cfe326
Clippy pass
2021-10-26 13:37:03 -07:00
Greg Shuflin
df173a0096
Variables in pattern match
2021-10-26 11:37:43 -07:00
Greg Shuflin
cac61ba093
Refactor TypeId representation in symbol table
2021-10-25 16:12:24 -07:00
Greg Shuflin
97117827c6
Modify Symbol struct
2021-10-25 13:34:17 -07:00
Greg Shuflin
fb0bf29826
Add Display impl for FQSN
2021-10-25 12:47:35 -07:00
Greg Shuflin
df41da84b4
Fix scope test bug
...
This involved fixing how the ScopeResolver handles local bindings. I
probably want to rewrite much of that code.
2021-10-25 01:02:19 -07:00
Greg Shuflin
bd698629ff
Continuing work on reduced ir
2021-10-24 05:50:04 -07:00
Greg Shuflin
82de5c6e27
Handle local variables and function params in symbol table
2021-10-24 02:02:04 -07:00
Greg Shuflin
9540dc70f2
Successfully refactor the ScopeResolver tables
2021-10-24 01:06:40 -07:00
Greg Shuflin
ba09919aa1
Bunch of rewrites to scope resolver
2021-10-24 00:08:26 -07:00
Greg Shuflin
d8f6c41f04
Start re-writing reduced ast and evaluator
2021-10-23 21:18:40 -07:00
Greg Shuflin
92a695e523
Eliminate one table in SymbolTable
2021-10-21 21:55:21 -07:00
Greg Shuflin
b342213826
Add ids to type Variants
2021-10-21 20:00:26 -07:00
Greg Shuflin
b4f765167b
Redesign Variant struct
2021-10-21 19:53:50 -07:00
Greg Shuflin
2256f25482
Add id_to_symbol table to SymbolTable
2021-10-21 19:43:03 -07:00
Greg Shuflin
fb31687dea
Run rustfmt on symbol_table code
2021-10-21 14:46:42 -07:00
Greg Shuflin
0d488b250d
Remove submodule
2021-10-19 23:06:52 -07:00
Greg Shuflin
0c6c4ef47e
Symbol table clippy
2021-10-19 21:18:57 -07:00
Greg Shuflin
355ed3c749
Rename FQSN -> Fqsn
2021-10-19 21:14:15 -07:00
Greg Shuflin
a9b8fdcad6
Track duplicate record definitions
2021-10-19 20:35:53 -07:00
Greg Shuflin
15a08aa8f7
SymbolTable error refactoring
2021-10-19 19:19:21 -07:00
Greg Shuflin
9640a5b05b
Use vec of duplicate errors
2021-10-19 18:22:34 -07:00
Greg Shuflin
d3378c3210
Use Vec of symbol errors
2021-10-19 18:00:34 -07:00
Greg Shuflin
7a0134014b
Switch scope to Rc<String>
2021-10-19 17:22:35 -07:00
Greg Shuflin
3c4d31c963
Reduce complexity of DataConstructor
2021-10-19 16:50:08 -07:00
Greg Shuflin
736aa8aad2
Remove dead code
2021-10-19 16:45:04 -07:00
Greg Shuflin
40f759eea8
Fix all warnings
2021-10-19 14:19:26 -07:00
Greg Shuflin
d1d3a70339
Fix last test
2021-10-19 14:12:57 -07:00
Greg Shuflin
3060afd752
Fix warnings
2021-10-19 13:54:32 -07:00
Greg Shuflin
8b724cf0ff
Big refactor of symbol table
2021-10-19 13:48:00 -07:00
Greg Shuflin
f5328fac9d
More work in symbol_table, reduced_ast
2021-10-19 00:07:02 -07:00
Greg Shuflin
1e9a15d01e
Some cipppy lints in reduced ast
2021-10-18 23:41:29 -07:00
Greg Shuflin
845461e2b3
Modify symbol table tests
2021-10-18 23:04:23 -07:00
Greg Shuflin
9d89440a6d
Reduce number of tables in symbol table
2021-10-18 22:32:08 -07:00
Greg Shuflin
db6c9bb162
Start adding new SymbolTable infrastructure
2021-10-18 21:56:48 -07:00
Greg Shuflin
3bb323667d
Rename SourceMap -> DeclLocations
2021-10-14 06:55:57 -07:00