Just a single datapoint: this explanation started to lose me at "and a -> String. (In that last one, the type function is the arrow; Haskell would allow you to write it (->) a String. Also, (->)is the only type that HM specifically requires to exist.)" I don't understand what the arrow _is_, nor why HM requires it to exist. Googling didn't actually seem to help much, but that's likely because "it" has a name that I don't know.
You further lost me when you went on to write "sticking one or more "∀"s in front of a monotype". I don't know what an upside-down A is - I think I've read about... (read more)
Just a single datapoint: this explanation started to lose me at "and
a -> String. (In that last one, the type function is the arrow; Haskell would allow you to write it(->) a String. Also,(->)is the only type that HM specifically requires to exist.)" I don't understand what the arrow _is_, nor why HM requires it to exist. Googling didn't actually seem to help much, but that's likely because "it" has a name that I don't know.You further lost me when you went on to write "sticking one or more "∀"s in front of a monotype". I don't know what an upside-down A is - I think I've read about... (read more)