[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: 


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: 


The chapter on the "prehistory":

    "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: 


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