Skip to content

A collection of programs and material to learn type inference algorithms

Notifications You must be signed in to change notification settings

samvv/learn-type-inference

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learn Type Inference

This repository will contain a set of Haskell programs and related material to teach you how to build type inference algorithms. We start with basic Hindley-Milner and work our way to dependent types.

Only a basic background in computer science is required. The examples gradually increase in complexity.

⚠️ I'm by no means an expert in type theory or functional programming languages. I'm merely very interested in these topics and spend quite some time learning them. Always think critical, and take what you read with a grain of salt.

Tutorials

Thank You

This repository wouldn't be possible without the following excellent materials:

  • Write You A Haskell by Stephen Diehl provided much of the boilerplate for the classical Hindley-Milner code as well as some essential hints on how the algorithm works in specific cases.
  • EvEff by Ningning Xie for providing a very clean implementation of algebraic effects, making it that much easier to combine monad-like computations.
  • Typing Haskell in Haskell by Mark P. Jones contains an essential overview of Haskell's type system.

License

The code in this repository is licensed under the MIT license unless otherwise noted. You are free to fork this repository and make changes. Just make sure to leave a reference to the original content.

About

A collection of programs and material to learn type inference algorithms

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published