
On Wed, Sep 29, 2021 at 09:11:35AM -0000, Dominik Vilsmeier wrote:
* `sorted(items, key=?['key'])` * `filter(? > 0, items)` * `map(f'{?:.3f}', items)`
I think those are massively more cryptic and hard to read than an explicit lambda. Being too terse is worse that being too verbose: consider how few people use APL compared to how many use Java. "lambda" is admittedly an odd name for a concept, most familiar to computer science theorists, but at least it is pronouncable in English. We can read it and talk about it: "Pass a lambda as the key parameter." Whereas here how do we pronounce "?"? "Pass a question mark as the key parameter" sounds like *all you need do* is pass the literal ? symbol. In practice people are going to call it lambda, in which case you might as well just write lambda. And please take mercy on the poor beginners who have to Google for "Python ?" to try to work out what on earth this does. At least other punctuation marks are either well known from school maths or other languages.