[Python-Dev] bitwise operators and lambdas
Mon, 10 Feb 2003 10:57:48 -0500
I don't expect action or consensus on these, but I thought I get them on
record by posting
1) move bitwise operators to a package and deprecate them from the
language as special syntax
2) use pipes as shorthand for lambdas
re: 1) bitwise operators
bitwise OR is used on 61 lines in Lib/ out of 70k+ lines. There is nothing
inheritly un-pythonic about bitwise operators but they don't really come up
much in a high level language like python. They just seem 'extra' esp since
we spell || as 'or' and && as 'and'. sets are about the only thing to
usefully define __xor__ and its kind.
re: 2) lambda shorthand
Most people hate lambdas, but I like em. They would beat listcomps in
readability if it weren't for the clunky appearance of the string 'lambda'
everywhere they are used. People seem to like list comps over filter/map
mainly because they save keystrokes.
lambda x:foo(x) |x|foo(x)
l = [x.guy for (x) in blah]
l = map(|x|x.guy, blah)
l = [x for (x) in blah if x < 7]
l = filter(|x|x < 7, blah)
l = [x.guy for (x) in blah if x.guy < 7]
l = map(|x|x.guy, filter(|x|x.guy < 7, blah))
I also like the passing-something-on implication of using a pipe character.
Plus I like the left-to-right reading of map/filter over listcomps.