[PEP202 listcomps] (was RE: [Python-Dev] Product iteration)
Fredrik Lundh
Fredrik Lundh" <effbot@telia.com
Wed, 26 Jul 2000 10:55:46 +0200
guido wrote:
> > It derives in turn from SETL, which followed common set-theoretic
> > notation. This "grabbed" Guido; LISP spellings never did, and I bet
> > never will.
>=20
> I've never used or even seen SETL, but there is a connection: SETL had
> a profound influence on the designers of ABC, in particular Lambert
> Meertens, who spent a sabbatical year working with the folks at New
> York University who wrote the first validated Ada compiler in SETL.
found this one:
http://www-robotics.eecs.lehigh.edu/~bacon/setlprog.ps.gz
interesting reading. SETL sure has a pythonic feel...
with a few improvements, of course (like the [start next end]
range literals... too late to fix that in python, I suppose...)
and personally, I prefer their "tuple former" syntax over the the
current PEP202 proposal:
[expression : iterator]
[n : n in [1:100]]
[(x**2, x) : x in [1:5]]
[a : a in y if a > 5]
(all examples are slightly pythonified; most notably, they
use "|" or "st" (such that) instead of "if")
the expression can be omitted if it's the same thing as the
loop variable, *and* there's at least one "if" clause:
[a in y if a > 5]
also note that their "for-in" statement can take qualifiers:
for a in y if a > 5:
...
is there any special reason why we cannot use colon instead
of "for"?
</F>