Resolve "Refactor memory model of type checker" ✨️
Closes #15 🐔️👍️ Approved-by:aalbert <augustin.albert@bleu-azure.fr> Approved-by:
v-lafeychine <vincent.lafeychine@proton.me> Approved-by:
belazy <aarthuur01@gmail.com> 🦀️
🍰 🦀️🍰 🦀️🍰 * chore(cargo): update * fix(from comments): second pass of small review changes * Apply 1 suggestion(s) to 1 file(s) * fix(kernel review): take Vincent comments into account * chore(cargo): update cargo.lock * fix(kernel tests): adapt to new builder structure * fix(proost): adapt proost toplevel to the new memory model. This includes a temporary solution for error management, which will be changed anyway. * fix(parser): adapt tests to memory model * fix(kernel): refactor build functions location * fix(parser): adapt parser to new model WIP * feat(builders): WIP rewriting builders * chore(file structure): reorganised the file structure of arena- or term-related functions * chore(terms): changing some annotations in the file * fix(tests): all tests now succeed. Errors were due to the rewriting of the tests, not the type checker * fix(terms): chose to modify Debug impl of Terms instead; which gives better, less verbose results * fix(terms): add wrapper around OnceCell in order to fix their Debug trait implementation (too enthusiastic by default) * fix(kernel): fix term generation error with depth, fix wrong imax computation in type inference, fix PartialEq impl for Node * fix(kernel tests): rewrite the and test * fix(commands): update commands and the associated other functions * fix(type checker): add necessary lifetime annotations on result * fix(kernel tests): refactor tests accordingly * feat(type checker): adapt type checking and errors to the memory model * fix(terms and type checker): use deref trait, further temporary changes in type checker, removing previous environment definition; early: won't compile * fix(terms): adapt all core functions from terms.rs; early: won't compile * fix(terms): fix lifetime issue; early; won't compile * feat(terms): finish new term description and generation * chore(cargo): add `im-rc` dependency for immutable structures
Showing
- Cargo.lock 110 additions, 35 deletionsCargo.lock
- Cargo.toml 6 additions, 5 deletionsCargo.toml
- kernel/Cargo.toml 2 additions, 0 deletionskernel/Cargo.toml
- kernel/src/command.rs 27 additions, 132 deletionskernel/src/command.rs
- kernel/src/environment.rs 0 additions, 48 deletionskernel/src/environment.rs
- kernel/src/error.rs 12 additions, 9 deletionskernel/src/error.rs
- kernel/src/lib.rs 5 additions, 5 deletionskernel/src/lib.rs
- kernel/src/term.rs 0 additions, 349 deletionskernel/src/term.rs
- kernel/src/term/arena.rs 233 additions, 0 deletionskernel/src/term/arena.rs
- kernel/src/term/builders.rs 237 additions, 0 deletionskernel/src/term/builders.rs
- kernel/src/term/calculus.rs 356 additions, 0 deletionskernel/src/term/calculus.rs
- kernel/src/term/mod.rs 3 additions, 0 deletionskernel/src/term/mod.rs
- kernel/src/type_checker.rs 592 additions, 544 deletionskernel/src/type_checker.rs
- kernel/tests/and.rs 206 additions, 208 deletionskernel/tests/and.rs
- parser/src/error.rs 6 additions, 5 deletionsparser/src/error.rs
- parser/src/lib.rs 1 addition, 0 deletionsparser/src/lib.rs
- parser/src/parser.rs 404 additions, 331 deletionsparser/src/parser.rs
- proost/Cargo.toml 3 additions, 3 deletionsproost/Cargo.toml
- proost/src/error.rs 11 additions, 0 deletionsproost/src/error.rs
- proost/src/main.rs 16 additions, 16 deletionsproost/src/main.rs
Loading
Please register or sign in to comment