Tandoori is an implementation of the compositional type system I've developed for my MSc thesis at ELTE. It is written in Haskell and it can typecheck a reasonable subset of Haskell 98. Here's the available information about it:
- Compositional Type Checking for Hindley-Milner Type Systems with Ad-hoc Polymorphism: My 2011 MSc thesis
- The case for compositional type checking: an introductory blog post explaining the basic difference between linear and compositional type systems
- Defence presentation