Skip to content

7sharp9/write-you-an-inference-in-fsharp

Repository files navigation

Write you an inference in F#

This repo is inspired by other great resources in this area but targeted at idiomatic and easy to follow F# code. Saying that, type inference algorithms are not the easiest to get your head round but this will be a place to describe different types and methods of doing type inference.

The algorithms are split into pure and mutable Hindley-Milner type inference, and row polymorphism extension to it.

Hindley-Milner inference

Hindley-Milner inference with row polymorphism

This repo grew out of a small language that I was tinkering with to test out various ideas around type systems, while reading one of the papers on rank n types I came across the following which is quite true:

Considering how many papers there are on type systems, there is surprising little literature on type inference that is aimed unambiguously at implementors.

If you have any suggestions or want to make any contributions please submit a PR, I would be happy to include new versions or improvements!

Releases

No releases published

Packages

No packages published

Languages