
John Lato wrote:
Are you advocating introducing existential types to beginning Haskellers? I think something with the scary name "existential quantification" would greatly increase the head'splodin' on the learnin' slope.
OOP(*) advocates introducing existential types to beginning programmers. Although it uses an easy name "object" and not a technical name "existential", the easy-name honeymoon ends in a few minutes as soon as the teacher demonstrates or the students discover the tricky behaviour and semantics. It results in the same confusion and head explosion. The learning curve is the same struggle struggle explosion struggle then click. (*)Object Obfuscation Pomposity The broken analogy between OOP interfaces and Haskell/Isabell type classes is there because some people insist that all languages should be like mainstream languages. You have heard it, even from reputable leaders and pioneers: "if you know one language, picking up others should be easy, they just differ in syntax".