MRAB writes: > On 2016-08-17 12:24, Jussi Piitulainen wrote: >> BartC writes: >> >>> On 17/08/2016 07:39, Steven D'Aprano wrote: >>>> Rather than ask why Python uses `trueval if cond else falseval`, you >>>> should ask why C uses `cond ? trueval : falseval`. Is that documented >>>> anywhere? >>> >>> I'm not fond of C's a ? b : c but the principle is sound. I generally >> >> [- -] >> >>> Anyway a?b:c was existing practice. At least the order of a,b,c could >>> have been retained if not the exact syntax. >> >> The original was (c1 -> e1, c2 -> e2, ..., cn -> en) in John >> McCarthy's 1960 paper on symbolic expressions, with an actual arrow >> glyph in place of hyphen-greater-than. >> > [snip] > > BCPL, the ancestor of C, had: > > a -> b, c
Nice. Add a redundant pair of parentheses and it's the same. (When used as an expression, a final else-branch is mandatory-ish.) But C uses -> for something else, I think. And other languages use it for lambda expressions (succesfully, I think, but then they don't have it available for this purpose). -- https://mail.python.org/mailman/listinfo/python-list