Research

Reading List

Theory

Hindley–Milner Type Inference

  1. Principal Type-Schemes for Functional Programs - https://doi.org/10.1145/582153.582176
  2. Types and Programming Languages (2002), ch. 22-24
  3. Implementing a Hindley–Milner Type Inference - https://smunix.github.io/dev.stephendiehl.com/fun/006_hindley_milner.html
  4. Typing Haskell in Haskell - https://web.cecs.pdx.edu/~mpj/pubs/thih.html
  5. "Typed Racket: Gradual Typing for Dynamic Languages"
  6. TypeScript Specification - 2–4 (structural subtyping)
  7. PEP 544 - Protocols: Structural subtyping in Python

Implementation-Level Concepts

  1. Tree-sitter docs: https://tree-sitter.github.io/tree-sitter/
  2. "Rust for Rustaceans"
  3. The Rustonomicon - 3 (Type Layout & Lifetimes)
  4. https://jeremymikkola.com/posts/2019_01_01_type_inference_intro.html
  5. MyPy design docs: https://mypy.readthedocs.io/en/stable/internal.html
  6. PyRight internals (analyzer.py)
  7. Expert F# 5.0 (Ch. 9–10).
  8. TypeScript Compiler (specifically checker.ts)