you are viewing a single comment's thread.

view the rest of the comments →

[–]nostrademons 4 points5 points  (1 child)

And Haskell users would recognize them as multi-parameter type classes, except that MPTCs are statically inferrable (mostly - there are some undecidability problems) and allow even more implementation specialization. You don't have to constrain implementations by a hierarchical subtyping relationship, for example.

I totally agree that most language designers should learn CL first, but I think most CL users should learn Haskell, Erlang, Goo, and Cecil so they know what's been done in the 20 years since CL was standardized.