Hacker News new | ask | show | jobs
by rahulprasath 380 days ago
Why don’t mainstream languages like Python just support multimethods directly?
2 comments

Probably because typing in Python is optional and kinda bolted-on after the fact, and you really need a good type system to get the most out of multimethods.

In particular, type declarations, as they were first introduced in python, did not have a run-time effect, and they very much have a run-time effect with multi methods.

(Dataclasses are kind of an exception to this rule, but one that feels far less fundamental than multi dispatch would).

Many of them do, e.g. Java. Why don't _some_ mainstream languages like Python not support it? Entirely design preference, usually because they want to have less emphasis on the type system.
Java supports it? Are you conflating method overload (which is statically determined) with multimethods?