In defence of the two-namespace rule

William B. Clodius wclodius at lanl.gov
Fri Jan 21 17:06:07 EST 2000


Tim Peters wrote:
> <snip>
> Historical note:  Curry had nothing to do with computers.  He worked in the
> foundations of mathematical logic, specifically the branch called
> "combinatory logic".  This branch showed that the concept of (roughly
> speaking) "variable names" isn't necessary, and, indeed, given all the
> gotchas caused by bound and free vrbl names in formal logic, many complex
> proofs become a heck of a lot more transparent without them.  An offshoot
> showed that this is directly applicable to computational theory as well, and
> leads to an amazingly easy and clean (tho not particularly efficient in its
> naive form) implementation technique for functional languages, one that does
> lazy evaluation and many forms of common subexpression elimination "for
> free, by magic".
> <snip>

Minor historical note: Curry was not the discoverer of currying. It was
first discovered by Frege and was ten independently discovered, and more
widely published by Schoenfinkel. Curry "popularized" the concept of
crrying, but, as I understand it, never used the term himself, generally
citing the previous work of Schoenfinkel.

Somehow schoenfinkeling and freging never caught on as terms, at least
partly because the existing meaning of currying (removing the tangles
from an animal's hair with a comb) is slightly analogous to the removal
of tangles of logic introduced by the concept of currying.



More information about the Python-list mailing list