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
