A critic of Guido's blog on Python's lambda

Ken Tilton kentilton at gmail.com
Wed May 10 12:25:59 EDT 2006



Ketil Malde wrote:

> 
> Sometimes the best documentation is the code itself.  Sometimes the
> best name for a function is the code itself.

Absolutely. When I take over someone else's code I begin by deleting all 
the comments. Then I read the code. If a variable or function name makes 
no sense (once I have figured out what they /really/ do) I do a global 
change. Pretty soon the system is "documented". And I usually find a 
couple of bugs as the renaming produces things like:

     count = count + weight

I think one good argument for anonymous functions is a hefty Cells 
application, with literally hundreds of rules. The context is set by the 
instance and slot name, and as you say, the rule speaks for itself:

     (make-instance 'frame-widget
         :bounds (c? (apply 'rect-union (all-bounds (subwidgets self)))))

Why do I have to give that a name? And if the algorithm gets hairier, 
well, why is the reader looking at my code? If the reader is debugging 
or intending to modify the rule, they damn well better be looking at the 
code, not the name and not the comments. (Never a problem with my code. <g>)

kenny

-- 
Cells: http://common-lisp.net/project/cells/

"Have you ever been in a relationship?"
    Attorney for Mary Winkler, confessed killer of her
    minister husband, when asked if the couple had
    marital problems.



More information about the Python-list mailing list