John Shutt has a new blog, sharing his thoughts on programming language
design.  He has written a blog post titled "Primacy of Syntax".
http://fexpr.blogspot.com/2011/06/primacy-of-syntax.html

Shutt's work on fexprs came to my attention mostly due to a curious
statement by Alan Kay in his Early History of Smalltalk paper:

"I could hardly believe how beautiful and wonderful the idea of LISP was. I
say it this way because LISP had not only been around enough to get some
honest barnacles, but worse, there were deep flaws in its logical
foundations. By this, I mean that the pure language was supposed to be based
on functions, but its most important components -- such as lambda
expressions, quotes, and conds -- were not functions at all, and instead
were called special forms. Landin and others had been able to get quotes and
cons in terms of lambda by tricks that were variously clever and useful, but
the flaw remained in the jewel. In the practical language things were
better.* There were not just EXPRs (which evaluated their arguments), but
FEXPRs (which did not). My next questions was, why on Earth call it a
functional language?* *Why not just base everything on FEXPRs and force
evaluation on the receiving side when needed?*

*I could never get a good answer, but the question was very helpful* when it
came time to invent Smalltalk, because this started a line of thought that
said 'take the hardest and most profound thing you need to do, make it
great, an then build every easier thing out of it.'"


*Alan Kay*,
*The Early History of Smalltalk.*,
in: *Bergin, Jr., T.J., and R.G. Gibson*.
History of Programming Languages - II,
ACM Press, New York NY, and
Addison-Wesley Publ. Co., Reading MA 1996,
pp. 511-578

Since then, I have been really interested in what Shutt has to say about
language design. Shutt has in essence given Alan his "good answer", although
whether Alan likes Shutt's Ph.D. thesis is unknown to me.  It does seem like
there is a lot of overlap with John's ideas and VPRI's ideas, but each use
different terminology.  For example, VPRI uses "chains of meaning", whereas
John talks about the output of a language being another language rather than
a function returning a value that explains the meaning of a language.

Cheers,
Z-Bo
_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to