PEP 312 - Making lambdas implicit worries me, surely it's just the name 'lambda' that is bad...

Stephen Horne intentionally at blank.co.uk
Fri Mar 14 00:44:34 CET 2003


I'm sorry for the way I responded this morning - I was in a bad mood
for reasons that were not your fault.

However...


On Thu, 13 Mar 2003 11:54:55 GMT, Alex Martelli <aleax at aleax.it>
wrote:

>Stephen Horne wrote:
>   ...
>>>> I don't really see the relevance of the fact that "'lambda' never
>>>> starts a line". Other frequently used words (such as built-in function
>>>> names) also never start a line - 'reduce' is as long as 'lambda' for a
>>>
>>>Some built-in function names OFTEN "start a line" -- setattr, for
>>>example (you're far more rarely going to use setattr EXCEPT at the
>>>start of a line).
>> 
>> So what? - some keywords not only OFTEN but ALWAYS start a line.
>
>So, the assertion that built-in function names never start a line
>is incorrect.

I never made that assertion, though on further examination I see why
you thought I did.

My words were "Other frequently used words (such as built-in function
names) also never start a line".

I did not say "_all_ built-in function names". Neither did I say
"_some_ built-in function names". That part was not clarified because,
in context, it was unnecessary - _all_ or _some_ makes no difference
to the point I was making - and because the _some_ was, to me, implied
by common sense anyway.

Context pervades all natural language. That is why the (sadly highly
subjective) thing called common sense is so important to natural
language communication, and an important reason why natural language
can never be a perfect medium of communication.

One of the things I like about Steven Pinkers "The Language Instinct"
and "Words and Rules" is the healthy disrespect that he, as a
linguistics expert, has towards language pedantry and particularly
towards "language mavens" as he calls them. "Words and Rules" is, in
my opinion, actually quite a dull book relative to his others - mainly
because I'm already familiar with the formal grammar concepts that he
describes so painfuly slowly - but at a few points he certainly had me
laughing out loud at his descriptions of how the pedants completely
miss the point.

Anyway, the fact that many built-in function names can start a line is
common sense to me as Python has no equivalent to the Pascal
distinction between functions and procedures. Hence I didn't feel any
need to clarify "some" built-in functions. Hence, when you 'corrected'
me, implying that I didn't know this common sense thing, I felt
insulted and - in my already bad mood - I overreacted.

Once again, I am sorry for that.

Now I think about it, most built-in functions probably return a value
(I can't be bothered checking, but most of the ones I can think of off
the top of my head do anyway). While some of those may still be used
(or abused) for their side effects, a person might reasonably consider
that functions that can appear at the start of a line are exceptional.
We then get into the subjective nature of common sense, and how I
really wish I wasn't in such a foul mood this morning.





More information about the Python-list mailing list