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

DISPLACE



Ho, hum. Just the other day WGD wanted a list-displace
(defun displace (x y) (if (or (atom x)(atom y)) (error) %%%repla*%%%%))
I think it is simpleminded, and quite outdated to be "snarfing"
or "using" what should be the names of possibly generic systemic 
data-struture primitives for semantic evaluation purposes.
Use of SUBST for "substitution" macros truly is the classic example.
(1) semanticaly incorrect in many cases.
(2) multiple-evaluation brain-damage.

Shouldn't displace work on vectors, hunks, arrays, structures?
Does the PROGN hack really make sense for those other cases?

How many calls to the evaluation-semantic displace does
one have in a given lisp system anyway? One or two?
I say the definition of this displace should be in
the EVALUATOR Package. EVALUATOR:DISPLACE.

I'm suprised at the people who have said that "THE" use
of displace has been in macros (i.e. extending the evaluator
or handing the EVAL message). Big irrelevent deal!
What about the people working on algebra systems, or
data-basis, or natural language parsers?
They don't call EVAL, why should "EVAL" call their displace.

Remember the 9'th commandment of systems programing,
(we should ask JM to post these, har har):
*XI* Thou Shalt Not Covet Thy Users Namespace.

-gjc