haskellfunctional-programminglambda-calculushindley-milnerdenotational-semantics

What part of Hindley-Milner do you not understand?


I swear there used to be a T-shirt for sale featuring the immortal words:


What part of

Hindley-Milner

do you not understand?


In my case, the answer would be... all of it!

In particular, I often see notation like this in Haskell papers, but I have no clue what any of it means. I have no idea what branch of mathematics it's supposed to be.

I recognize the letters of the Greek alphabet of course and symbols such as "∉" (which usually means that something is not an element of a set).

On the other hand, I've never seen "⊢" before (Wikipedia claims it might mean "partition"). I'm also unfamiliar with the use of the vinculum here. (Usually, it denotes a fraction, but that does not appear to be the case here.)

If somebody could at least tell me where to start looking to comprehend what this sea of symbols means, that would be helpful.


Solution


  • As requested: operator precedence, from highest to lowest: