Origin of the term "first-class object"
Rainer Deyke
rainerd at eldwood.com
Tue Nov 18 14:10:10 EST 2003
Aahz wrote:
>> l[x * 2 + f(y)] = f(l[x * 2 + f(y)])
>>
>> This statement contains an obvious redundancy that will make code
>> maintenance difficult. Python allows me to factor out some of the
>> redundancy:
>>
>> index = x * 2 + f(y)
>> l[index] = f(l[index])
>>
>> However, Python gives me no way to factor out the remaining
>> redundancy.
>
> Sure it does: change the immutable to a mutable.
Not good enough. I'd rather write "l[x] = f(l[x])" with all of its
redundancy than wrap every conceivable immutable object in a mutable
wrapper. Besides, I don't *want* 'f' to change an object (which may also be
referenced elsewhere); I want it to change a binding.
And, really, "l[x] = f(l[x])" isn't that big of a deal. It's a bit of
redundancy that I'd rather not have, but it's not bad enough that I feel the
need to do anything about it.
--
Rainer Deyke - rainerd at eldwood.com - http://eldwood.com
More information about the Python-list
mailing list