I don't even care. Erlang is a general-purpose, concurrent, functional programming language. Where are my pants? Haskell is a standardized, general-purpose purely functional programming language, with non-strict semantics and strong static typing. Type classes first appeared in the Haskell programming language.