M
Malcolm McLean
What you want is a language which has completely uniform, minimal syntaxI can see that Lisp can't win. If it has special forms for convenience
(like conditional execution for example) than it's cluttered up with
special cases. If it's stripped back and totally uniform, you'd be
complaining that it's impossible to use -- try writing a conditional
where the form (if test then-form else-form) has uniform evaluation
semantics. Indeed, this was your initial complaint.
the allows you to build arbitrary functions with a simple interpreter,
then permits higher-level constructs on top which the user actually calls.
So few people write their own vsprintf in C. But it can be done if
needed.
Lisp is almost that language. But not quite. You find that the ' can't be
implemented in terms of Lips expressions which construct lists taking
"quote", you need a special patch so that the interpreter throws out
(lambda fredsarguments (+(* x y) z)) (I didn't know that when I was writing
the interpreter, I just didn't know how it was meant to deal with that
situation, which appeared legitimate, but won't fit into the parse scheme).
I'm not anti-Lisp, however. I've got a long term project to add the lisp
interpreter to a parallel graphical language, but it's on the back burner
for now, I want to concentrate on Baby X. The comments were facetious because
of airs of superiority put on by certain posters (not you) due to their
knowledge of lambda calculus. I've only got a rough understanding of it,
I wouldn't pretend any more.