hm-inference #6

Merged
sb10q merged 136 commits from hm-inference into master 2021-08-19 11:46:50 +08:00
1 changed files with 10 additions and 10 deletions
Showing only changes of commit 52a82e8a39 - Show all commits

View File

@ -15,20 +15,20 @@ caller to specify which methods should be compiled). After type checking, the
compiler would analyse the set of functions/classes that are used and perform
code generation.
Symbol resolver:
- Str -> Nac3Type
- Str -> Value
value could be integer values, boolean values, bytes (for memcpy), function ID
(full name + concrete type)
## Current Plan
1. Write out the syntax-directed type checking/inferencing rules. Fix the rule
for type variable instantiation.
2. Update the library dependencies and rewrite some of the type checking code.
3. Design the symbol resolver API.
4. Move tests from code to external files to cleanup the code.
Type checking:
- [x] Basic interface for symbol resolver.
- [x] Track location information in context object (for diagnostics).
- [ ] Refactor old expression and statement type inference code. (anto)
- [ ] Error diagnostics utilities. (pca)
- [ ] Move tests to external files, write scripts for testing. (pca)
- [ ] Implement function type checking (instantiate bounded type parameters),
loop unrolling, type inference for lists with virtual objects. (pca)