

Innovative Lisp - muriithi
http://groups.google.com/group/comp.lang.lisp/msg/136f4a3107765ac4

======
pg
Strictly speaking, Pitman is wrong. The technical innovations he describes
came with Lisp Machine Lisp and ZetaLisp. But if you consider all three as a
sort of family, then he's right: there was a lot of new stuff in CL. The
problem was, a lot of it was bad, or at least done in a kludgy way.

~~~
gruseom
Could you give a couple of examples of what you consider bad? CL is so much
better than anything I used prior to it that I'm not very sensitive to these
distinctions.

~~~
pg
The first sign of trouble is the sheer weight of CLTL.

The fundamental problem with CL is that it's an accumulation of bits written
by many people at different times in different styles. A lot of it is written
in a style common in the mid 80s Lisp Machine days when it was the fashion to
give everything every possible option. The loop macro is a particular horror,
with its unLisplike syntax and semantics so complicated that the ANSI standard
doesn't even try to explain it.

CL is also missing a few things. Not having continuations is a problem, and
having a separate namespace for functions adds a lot of complications.

~~~
newton_dave
> The first sign of trouble is the sheer weight of CLTL.

Was this simply an issue of trying to put (what should have been?) library
functionality into the language?

I've never been sure at what point one should stop adding the next keyword
argument or handling the next edge case: if things are designed so that it's
easy to do only when necessary.

CL seemed to accrete functionality better left to specific use-cases, but re-
inventing the wheel sucks too. Back then it seemed like a lot could have been
done with CL addons but instead it was pushed into the spec.

(Caveat: I don't remember stuff that happened yesterday, let alone in the very
late 80's/early 90's, when I was working in CL.)

