But why do you need multiple dispatch? why do you need dynamic dispatch at all in fact?
Any language with semi-decent support for generic programming (via traits, type classes, overloading, what have you) should be able to do the above.
Any language with semi-decent support for generic programming (via traits, type classes, overloading, what have you) should be able to do the above.
Well, Julia has better than semi decent support for generics, since every function is by definition a generic.
MD can be useful for static languages of course, but it comes up significantly less often and static MD is simply overloading/ad-hoc polymorphism.