Inner functions and outer 'this' (Re: That hash symbol)

Allen Wirfs-Brock allen at wirfs-brock.com
Tue Mar 29 14:52:12 PDT 2011


On Mar 29, 2011, at 1:12 PM, P T Withington wrote:

> 
> If I had a vote, it would be for a way to explicitly name the `-1th` argument to a function.  And I would wish for it to be available in all function forms, defaulting to using the legacy name `this`, if not otherwise specified.  I believe it not only addresses the issue in this thread, but leaves the way open for generic functions.
> 
> [As a user, I infer I fall into your "functional proponent" camp, but I claim to also be an o-o proponent.  I just find it much easier to think in generic functions and consider the "distinguished receiver" of message passing as being a degenerate case of that, which has a layer of syntactic sugar to let you express foo(a, b, c) as a.foo(b, c), if you like to think the other way.]

Yes, the generic function "camp" largely coming out of the Lisp world has always been much more closely assigned with the functional world than with the object-oriented world.  To us objectivists a.foo(b,c) really does carry a very different  meaning than foo(a,b,c).  The OO design process centers on identify the objects that will make up a system, not the functions that make up the system.

Allen



More information about the es-discuss mailing list