Mini-rust in Rust 021: Including type information in our syntax tree
March 21, 2025 [Programming, Programming Languages, Rust, Tech, Videos] #mini-rust
mini-rust (21 part Series)
Mini-rust in Rust 001: Lexing an int
Mini-rust in Rust 002: Errors while lexing
Mini-rust in Rust 003: Much prettier errors
Mini-rust in Rust 004: Refactoring our lexer
Mini-rust in Rust 005: Making our lexer an iterator
Mini-rust in Rust 006: Parsing an operation
Mini-rust in Rust 007: Evaluating an operation
Mini-rust in Rust 008: Refactoring our parser
Mini-rust in Rust 009: Handling parsing errors
Mini-rust in Rust 010: Lexing an assignment
Mini-rust in Rust 011: Parsing an assignment plus expression
Mini-rust in Rust 012: Parsing with backtracking
Mini-rust in Rust 013: Fixing a bug in our lexer
Mini-rust in Rust 014: Evaluating an assignment
Mini-rust in Rust 015: Parsing a typed assignment
Mini-rust in Rust 016: Tidying our parser
Mini-rust in Rust 017: Handling float literals
Mini-rust in Rust 018: Type checking, the happy path
Mini-rust in Rust 019: Type checking an actual type error
Mini-rust in Rust 020: Gaps in our type checker
Mini-rust in Rust 021: Including type information in our syntax tree
Mini-rust in Rust 001: Lexing an int
Mini-rust in Rust 002: Errors while lexing
Mini-rust in Rust 003: Much prettier errors
Mini-rust in Rust 004: Refactoring our lexer
Mini-rust in Rust 005: Making our lexer an iterator
Mini-rust in Rust 006: Parsing an operation
Mini-rust in Rust 007: Evaluating an operation
Mini-rust in Rust 008: Refactoring our parser
Mini-rust in Rust 009: Handling parsing errors
Mini-rust in Rust 010: Lexing an assignment
Mini-rust in Rust 011: Parsing an assignment plus expression
Mini-rust in Rust 012: Parsing with backtracking
Mini-rust in Rust 013: Fixing a bug in our lexer
Mini-rust in Rust 014: Evaluating an assignment
Mini-rust in Rust 015: Parsing a typed assignment
Mini-rust in Rust 016: Tidying our parser
Mini-rust in Rust 017: Handling float literals
Mini-rust in Rust 018: Type checking, the happy path
Mini-rust in Rust 019: Type checking an actual type error
Mini-rust in Rust 020: Gaps in our type checker
Mini-rust in Rust 021: Including type information in our syntax tree
We realised last time that our type checker needs to move on from just saying "yes" or "no" for whether our program is OK: we need to keep hold of the type information we work out, so we can use it for error messages and possibly even within the evaluator.
You can find the source code at codeberg.org/andybalaam/milk and more of my stuff at artificialworlds.net