The above is the title of a talk which I presented at LispNYC on Sep 10, 2003. This page contains material and references associated with that talk, along with a few details about the occasion.
The code contains some comments but will probably not make much sense to anyone who did not attend the talk and who is not already familiar with lambda calculus. However, some of the references at the bottom of this page will help to provide context.
As part of describing the context and history which led up to the development of the lambda calculus, I read the following quote from Leibniz (1677). It can be found on this page. The part I read was as follows:
"Whence it is manifest that if we could find characters or signs appropriate for expressing all our thoughts as definitely and as exactly as arithmetic expresses numbers or geometric analysis expresses lines, we could in all subjects in so far as they are amenable to reasoning accomplish what is done in Arithmetic and Geometry.Although these ideas ultimately led to the development of formal systems of logic, including the lambda calculus, it seems that we have yet to succeed in converting Usenet to the use of such a language..."For all inquiries which depend on reasoning would be performed by the transposition of characters and by a kind of calculus, which would immediately facilitate the discovery of beautiful results. For we should not have to break our heads as much as is necessary today, and yet we should be sure of accomplishing everything the given facts allow.
"Moreover, we should be able to convince the world what we should have found or concluded, since it would be easy to verify the calculation either by doing it over or by trying tests similar to that of casting out nines in arithmetic. And if someone would doubt my results, I should say to him: "Let us calculate, Sir," and thus by taking to pen and ink, We should soon settle the question.
"Now the characters which express all our thoughts will constitute a new language which can be written and spoken; this language will be very difficult to construct, but very easy to learn. It will be quickly accepted by everybody on account of its great utility and its surprising facility, and it will serve wonderfully in communication among various peoples, which will help get it accepted. Those who will write in this language will not make mistakes provided they avoid the errors of calculation, barbarisms, solecisms, and other errors of grammar and construction. In addition, this language will possess the wonderful property of silencing ignorant people. For people will be unable to speak or write about anything except what they understand, or if they try to do so, one of two things will happen: either the vanity of what they advance will be apparent to everybody, or they will learn by writing or speaking. As indeed those who calculate learn by writing and those who speak sometimes meet with a success they did not imagine, the tongue running ahead of the mind. This will happen especially with our language on account of its exactness. So much so, that there will be no equivocations or amphibolies, and everything which will be said intelligibly in that language will be said with propriety. This language will be the greatest instrument of reason."
Another quote which I read was the "Acknowledgements" section from the end of Sussman and Steele's original Scheme paper, "Scheme - An Interpreter for an Extended Lambda Calculus". I read the first two paragraphs of these acknowledgements, which explains how the decision to apply lambda calculus in the design of Scheme was the result of "an experimental and highly empirical approach to bootstrap our knowledge".
My advice to anyone reading this: register now for ILC 2003 and get your ass to New York City in October!
The final link in the historic chain was contributed by Sussman and Steele, in their "interpreter for an extended lambda calculus", as already referenced above. Naturally, by our axiom of appearance, Gerald Jay Sussman is providing a keynote address at ILC 2003.