Hacker News new | ask | show | jobs
by AnaniasAnanas 2699 days ago
Please do correct me if I am wrong, but isn't multiple dispatch basically typeclasses + pattern matching?
1 comments

But that would still be single dispatch, right?

Multiple dispatch means functions are generic, and all arguments are considered when deciding which implementation to call.

Snigl supports both multiple dispatch and pattern matching, as does Common Lisp.

Haskell type classes by default pick the implementation based on a single type variable in its signature, but it can occur in multiple positions (including the return type). A commonly used language extension (multi parameter type classes) extends this to an arbitrary number of type variables.
As far as I know, all of the arguments are considered when deciding which implementation to call on typeclasses.