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

Re: Status (and TRACE-EXECUTION spec)

> LGD and I are working (like mad) on the spec. I am concentrating
> on the concepts chapter and Linda on the functions chapter.

> This will require very fast turnaround from you folks on the draft.

Ok, let us know if you need anything else.

I haven't posted an updated draft of the TRACE-EXECUTION generic function
yet, since it wasn't clear from the last meeting whether it was in
the same category as PRINT-OBJECT, and therefore should go in Section 2,
or was a Cleanup Committee issue. Clearly, the modifications to TRACE
are a Cleanup Committee issue. In any event, below is the text of the
TRACE-EXECUTION generic function spec I presented at the September meeting,
in case it should go in Section 2.


Uppercase indicates BOLD, _this_ indicates italic


TRACE-EXECUTION _object_ &KEY :ENVIRONMENT :BREAK  _[Generic Function]_

TRACE-EXECUTION discriminates on _object_ to select an implementation
specific method that arranges for the executable entity associated
with _object_ to be traced. The :ENVIRONMENT keyword parameter is for 
those implementations which require environmental information to
arrange for tracing to occur. Implementations are required to provide
TRACE-EXECUTION as the system level entry point for implementing TRACE
functionality. If the :BREAK keyword argument is not NIL, arrangement is 
made for the BREAK function to be called after trace information is printed.

The exact nature and number of methods associated with TRACE-EXECUTION
will differ, depending on what executable entities can be specified
by TRACE, but every implementation needs to support methods which 
dispatch on objects having the following classes:

SYMBOL-The function indicated by the symbol will be traced when invoked
in the environment. 

METHOD-The method function is traced when invoked.

GENERIC-FUNCTION-The generic function is traced when the discriminator
code is invoked.

Implementations are encouraged to provide as many methods as is possible.