On Wednesday, April 12, 2017 at 7:09:04 PM UTC+5:30, Ben Bacarisse wrote: > Steve D'Aprano writes: > > > On Wed, 12 Apr 2017 03:39 am, Paul Rubin wrote: > > > >> I still do my everyday stuff in Python and I'd like to get more > >> conversant with stuff like numpy, but it feels like an old-fashioned > >> language these days. > > > > "Old fashioned"? With await/async just added to the language, and type > > annotations? And comprehensions and iterators? > > > > Admittedly type annotations are mostly of interest to large projects with > > many developers and a huge code base. But the rest? > > > > Comprehensions may have been around for a decade or two in Haskell, but most > > older languages don't have them. I'm pretty sure Java doesn't. Does > > Javascript? Comprehensions feel like a fancy new language feature to > > me. > > They've been in in Haskell for nearly three decades, but they were > around before that. Miranda had them, as did Miranda's immediate > predecessor, KRC. KRC dates from about 1980, so if you've been using > that lineage of languages, list comprehensions have been a standard > feature for 37 years. I've been using them almost my entire programming > life. > > It seems odd that ECMAScript (the JavaScript standard) does not have > them, but then JS seems to hide its function nature under an imperative > bushel.
Comes from set comprehensions in SETL (I think) ie about 50 years old https://en.wikipedia.org/wiki/SETL Which itself goes back another 50 years to Zermelo-Fraenkel set theory [Miranda actually used to call list comprehensions as ZF-expressions] -- https://mail.python.org/mailman/listinfo/python-list