etymology of "list comprehension"?

Terry Reedy tjreedy at udel.edu
Fri Nov 7 00:41:06 EST 2008


Paul Rubin wrote:
> mh at pixar.com writes:
>> Ah, thanks... and does "comprehension" have any special computer
>> science meaning?
> 
> It is from mathematical set theory.  If you write something like
> 
>    { p | [some logical expression indicating that p is prime] }
> 
> then that denotes a set (the set of all prime numbers).  That every
> such formula names a set is called the axiom of comprehension.  The
> above notation is sometimes called set-builder notation.
> 
> Frege's original system of logic (late 19th century), now called
> "naive set theory" had "unrestricted comprehension" which meant
> you could say anything at all where the logical expression went.
> This made the system inconsistent, because of Russell's paradox
> ("c is the class of all classes that are not members of themselves.
> So is c a member of itself?").  
> 
> Axiomatic set theory has a restricted axiom of comprehension that
> requires the logical expression to be a first order formula with
> a certain syntax, to avoid such paradoxes.
> 
> Anyway, list comprehensions in programming languages got their
> name because of their resemblance to set-builder notation that
> invoked the axiom of comprehension.

Thank you for this info.  I suspected something along this line but 
could not quite remember.




More information about the Python-list mailing list