map/filter/reduce/lambda opinions and background unscientific mini-survey
Tom Anderson
twic at urchin.earth.li
Wed Jul 6 09:38:31 EDT 2005
On Wed, 6 Jul 2005, Terry Hancock wrote:
> On Tuesday 05 July 2005 03:43 pm, Tom Anderson wrote:
>
>> I understand that the backslash is popular in some ivory-tower
>> functional languages. Currently, a backslash can be used for explicit
>> line joining, and is illegal elsewhere on a line outside a string
>> literal, so i think it's available for this. It would be utterly
>> unpythonic to use puntuation instead of a keyword, and it would make no
>> sense to novices, but it would scare the crap out of C programmers,
>> which has to be worth something.
>
> With list comprehensions and generators becoming so integral, I'm
> not sure about "unpythonic".
I'm going to resist the temptation to argue that list comps are themselves
unpythonic :).
Hang on, where's the punctuation in either of those? They *are* done with
keywords! A generator is just a function with "yield" instead of "return",
list comprehensions are just list literals where the explicit sequence of
items is replaced with code producing them, using the keywords "for", "in"
and "if", and a generator expression is a list comp *without any
punctuation!*
> And a syntax just occured to me -- what about this:
>
> [y*x for x,y]
>
> ?
Terrible. Square brackets mean a list, and a lambda is not anything like a
list.
I see where you're coming from, though; a lambda is a lot like the first
half of a list comp that's broken off and is roaming free. I can't think
of a good syntax for it, though.
tom
--
find porn apricot
More information about the Python-list
mailing list