

What single-dispatch generic functions mean for you - ctoth
http://lukasz.langa.pl/8/single-dispatch-generic-functions/

======
moomin
I understand that language design is hard, but this does seem to be a crippled
version of Clojure's multimethods. <http://clojure.org/multimethods>

And arguably, they're not powerful enough either.

~~~
tome
Welcome to Python in the 21st century, bolting on crippled versions of
functionality that other languages support natively. But I guess that's the
price you pay to evolve a popular language. See also C++ and Java.

~~~
adlpz
That's it, basically. You have to implement this things through an ugly
decorator thing because you just can't touch the syntax too much, or we would
have another Python3 situation.

------
dons
> If the last sentence read to you like some Haskellish solution to a self-
> inflicted problem,

Language design is a formal discipline. Why the urge to dumb it down?

~~~
rohshall
Exactly, there is a tendency among dynamic language proponents to think that
programming in a statically type checking language is masochistic.

------
quatrevingts
This hardly even saves any LOC over the original two versions, and requires
the reader to understand these new annotations. This is what happens when
programmers get obsessed with some arbitrary notion of "elegance": they fiddle
with the fundamental semantics of a language to save a couple lines of code
and end up with an unreadable mess of cute tricks piled on cute tricks.

If only Python supported multi-line lambdas...

------
andrewcooke
this looks very similar to
[http://www.acooke.org/pytyp/pytyp.spec.dispatch.html#module-...](http://www.acooke.org/pytyp/pytyp.spec.dispatch.html#module-
pytyp.spec.dispatch) (except that uses type annotations).

