4 ms·
In most languages, that's an implementation detail that is hidden by the compiler, and not a part of the semantics of the language itself. More specifically, i
by bunderbunder 9y ago
In most languages, that's an implementation detail that is hidden by the compiler, and not a part of the semantics of the language itself.
More specifically, if the language won't allow me to do both:
foo.method(x)
and
method(foo, x)
and have them behave the same way, then I submit that, regardless of what's going on behind the curtain, a n-arity method is not really the same thing as a (n+1)-arity function in that language.
- kd5bjo 9y agoPython is pretty close to this. Assuming that foo is an instance of class Bar, foo.method(x) Is equivalent[1] to Bar.method(foo, x) [1] in the absence of monkey patching on foo