Hacker News new | ask | show | jobs
by sifoobar 2692 days ago
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.

2 comments

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.