🤔 Add a type inference engine, along with typed literals. #4

Merged
acw merged 25 commits from acw/type-checker into develop 2023-09-19 20:40:05 -07:00
Showing only changes of commit 5d3af56735 - Show all commits

View File

@@ -1,4 +1,15 @@
/// A type inference pass for NGR
//! A type inference pass for NGR
//!
//! The type checker implemented here is a relatively straightforward one, designed to be
//! fairly easy to understand rather than super fast. So don't be expecting the fastest
//! type checker in the West, here.
//!
//! The actual type checker operates in three phases. In the first phase, we translate
//! the syntax AST into something that's close to the final IR. During the process, we
//! generate a list of type constraints to solve. In the second phase, we try to solve
//! all the constraints we've generated. If that's successful, in the final phase, we
//! do the final conversion to the IR AST, filling in any type information we've learned
//! along the way.
mod ast;
mod convert;
mod finalize;