Hindley-Milner type inference is described many places. However, that is just half of (vanilla, no extensions enabled) Haskell's amazing type system, the other half, I'd argue, is ad hoc polymorphism in the form of typeclasses. Where is the formalism behind this idea described?
Hindley-Milner type inference is described many places. However, that is just half of (vanilla, no extensions enabled) Haskell's amazing type system, the other half, I'd argue, is ad hoc polymorphism in the form of typeclasses. Where is the formalism behind this idea described?
https://link.springer.com/content/pdf/10.1007%2F3-540-57880-3_16.pdf
maybe this?
although you would also have to trace all the other papers
eg on mptc
and fundeps
I think it's honestly a pretty unique thing nowadays
not sure if it's described anywhere in its entirety
https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/jfp-outsidein.pdf
this is the base for the "current" type inference algo in haskell, afaik
so maybe some more (up to date?) info in there