[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Program Call Structure
ELIOT@cs.umass.edu writes:
>This table describes four functions which would provide the required
>primitive functionality to implement a browser capable of showing
>the call structure of a Lisp program (similar perhaps to InterLisp's
>MasterScope).
>
> Function To Functions Function To Variables
> ---------------------------------------------
>Upward | Who-Calls | Who-References |
> |-----------------------|-------------------|
>Downward | What-Calls | What-References |
> ---------------------------------------------
>
>Who-Calls: Maps from a function spec to a list of functions that call it.
>What-Calls: Maps from a function spec to a list of functions called by it.
>Who-References: Maps from a variable to a list of functions that reference it.
>What-References: Maps from a function spec to a list of variables
>referenced by it.
(1) I think the names are unclear: "what calls foo" is ambiguous, and then the
change from personified (who) to unpersonified (what) is unlogical.
I would propose "who-calls" versus "whom-calls". No ambiguity, and no
change.
(2) I would like to see a "(who-changes <variable>)" and a "(whom-changes
<function>)" added, for dealing with side-effects. This could also be
done by "(who-calls '(setf <var> ...)), perhaps. A set of functions-
to-be-examined has to be provided anyway.
Otherwise I like the proposal.
Biep.