🤔 Add a type inference engine, along with typed literals. #4
@@ -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 ast;
|
||||||
mod convert;
|
mod convert;
|
||||||
mod finalize;
|
mod finalize;
|
||||||
|
|||||||
Reference in New Issue
Block a user