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


I have frequently felt a need to define a layer between Common Lisp the
Language and Common Lisp the Environment. It would probably make those
who are pushing for a "layered defintion" in ISO happy if we made the
division more explicit. 

Certainly, in such a situation, TRACE, STEP, ***, and many other friends
would fit in the Environment rather than the Language portion. I imagine
that there might be different levels of conformance testing available
for Language and Environment -- it is notably difficult to generate
automatic testing code for environment features, implementations for
embedded systems might well not have environment features, etc.

The layering of the definition of CL is something not addressed by
X3J13, although the ISO groups seem to be pushing at it from the bottom
up. I'd hate to stall this proposal waiting on something as vague as

I have no opinion on the various ways of expressing :BREAK except that
I'd like to see it in the language. Right now, I have to type  (IL:BREAK
X) in Xerox Common Lisp.

By the way, XCL implements (trace (a :in b)) as a way of tracing the
calls to A which occur from B. This might fit into this proposal too,
although I don't know if it is something that is always implementable.
The form also admits (trace ((a b c) :in (d e f))) where lists are

I don't have enough other Common Lisp environment manuals to do an
exhaustive Current Practice section, although I think that proper
consideration of this issue requires it.