- Traits are a Local Maxima
November 18, 2024
⊢
An expose on Implicits and Local Coherence
- Part 4: TypeChecking Top Level Functions
July 5, 2024
⊢
Adding support for annotated top level items to our type checker
- I'm betting on Call-by-Push-Value
March 9, 2024
⊢
Why call-by-push-value is the best evaluation strategy, and why it's going to take over
- In Search of the Perfect Fold
November 27, 2023
⊢
My quixotic quest to design the perfect tree fold for Rust
- Part 3: Rowing Afloat Datatype Boats
October 21, 2023
⊢
Row, row, row your types
- What's in a Module?
July 31, 2023
⊢
A discussion of the overloaded use of modules in languages
- Part 2: Tying up Type Inference
July 1, 2023
⊢
Solve Type Constraints via Unification
- Part 1: Bidirectional Constraint Generation
June 24, 2023
⊢
Generate Type Constraints with a Bidirectional Type System
- Part 0: Designing a Language without a Parser
June 17, 2023
⊢
Designing a language, types first