[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Issue: EVAL-OTHER (Version 2)

re: w/o generic EVAL or APPLY, CLOS is just a bag on the side of CL. 

I can't agree with this at all.  CL is an extremely useful programming
language, and with CLOS added it is incredibly more  useful.  EVAL
is a boringly obscure operation to apply to any piece of data -- it
merely decodes the syntatic means by which programs are written.  Writing
programs encoded as strings rather than lists and symbols, or encoded in 
*any* other random datatype, is hardly a great step forward.

While that last sentence might be open to continuing theoretical debate,
there is the practical observation that MacLisp/NIL *did* make such an
extension (using the object-oriented system called EXTEND), and there
were virtually no meaningful uses of it.  [I'm not 100% sure but I think
Glenn Burke may have used it somehow in the Layered System Building
project.  Apologies, if that use was "meaningful".]

In fact, the EVAL-related extension that really has some vocal supporters
behind it is to *increase* the level on standardization in the coding of 
EVAL, so that research projects into the likes of debuggers and window 
systems can put more "hooks" into the interpreter.  See Henry Lieberman's
"Common Eval" proposal.

-- JonL --