Skip to content

Latest commit

 

History

History
10 lines (9 loc) · 909 Bytes

README.org

File metadata and controls

10 lines (9 loc) · 909 Bytes

Type Inferencer

A toy implementation of Hindley-Milner type inference. The program walks through a given expression node, generates a set of constraints and unifies them to produce a set of substitutions.

Blog post: Type Inference

Resources

Here are the resources I used to learn this algorithm:

  1. Chapter 30 in Programming Languages: Application and Interpretation (first edition)
  2. Chapter 15.3.2 in Programming Languages: Application and Interpretation (second edition)
  3. Unification - A blog post.
  4. type-unify.rkt - An unification implementation in Racket.