[Haskell-cafe] Re: Data constructors versus types
jerzy.karczmarczuk at info.unicaen.fr
jerzy.karczmarczuk at info.unicaen.fr
Thu Jan 17 15:27:03 EST 2008
Achim Schneider continues to comment the Lisp history:
> In fact, it wasn't even meant to be a programming language, just a
> calculus.
There is comprehensive German article (in English), by Herbert Stoyan,
on this historical issue:
http://www8.informatik.uni-erlangen.de/html/lisp/histlit1.html
Stoyan reminds a - currently - not so obvious truth, that something like
functional paradigmatics was not so popular at that time, the second half
of fifties, beginning of sixties. People reasoned rather in terms of
algorithms, and McCarthy was no exception.
Let's cite Stoyan: "To come back to functional programming, it is an
important fact that McCarthy as mathematician was familiar with
some formal mathematical languages but did not have a deep,
intimate understanding of all their details. McCarthy himself has
stressed this fact (23). His aim was to use the mathematical
formalismus as languages and not as calculi. This is the root of
the historical fact that he never took the Lambda-Calculus conversion
rules as a sound basis for LISP implementation."
So, I believe it is not so briliant an idea to confound the Church calculus
with Lisp!
We have also the text of the Master himself, available on-line:
http://www-formal.stanford.edu/jmc/history/lisp/lisp.html
The chapter on the "prehistory":
http://www-formal.stanford.edu/jmc/history/lisp/node2.html#SECTION0002000000
0000000000
begins:
"My desire for an algebraic list processing language for artificial
intelligence work on the IBM 704 computer arose in the summer of
1956 during the Dartmouth Summer Research Project on Artificial
Intelligence which was the first organized study of AI. During
this meeting, Newell, Shaw and Simon described IPL 2, a list
processing language for Rand Corporation's JOHNNIAC..."
So, sorry, but McCarthy since the very beginning thought about making
a usable computer language, not a "calculus". When discussing the evolution
of FLPL, the *third* point mentions Church for the first time:
"c. To use functions as arguments, one needs a notation for
functions, and it seemed natural to use the -notation of
Church (1941). I didn't understand the rest of his book,
so I wasn't tempted to try to implement his more general
mechanism for defining functions. Church used higher order
functionals instead of using conditional expressions. ..."
See also the article of Paul Graham:
http://lib.store.yahoo.net/lib/paulgraham/jmc.ps
=======
Before somebody once more accuses me of pedantry, or says publicly
here that I am aggressive towards people:
You know that spreading half-truths, and also plain rubbish on Internet
is extremely easy. Wherever you look, you find plenty of occasions to
err, it suffices to put yourself in a mode of a dead person from the
movie "The sixth sense" of M. Night Shyamalan, with Bruce Willis, and
Haley Joel Osment. The boy says to the other main personage (unaware of
his own condition) that "dead people see only what they WANT to see"...
And somehow the false information spreads easier than the true one. THIS
list, which, independently of the freedom to chat about anything, is still
targeted at serious comp. sci. problems, and I think that the fact
that somebody is young and inexperienced, is not a justification to make
false claims, just because this and that had XXX years less than myself in
order to read some easily available texts. Of course, anybody may say
"dubious truths", I am ashamed of myself, but from time to time I explode.
Sorry about this.
Jerzy Karczmarczuk
More information about the Haskell-Cafe
mailing list