{Begin Chapter Breaking, Tracing, and Advising}
{Title Breaking, Tracing, and Advising}
{Text
It is frequently useful to be able to modify the behavior of a function without actually editing its definition. Interlisp provides several different facilities for doing this. By "breaking" a function, the user can cause breaks to occur at various times in the running of an incomplete program, so that the program state can be inspected. "Tracing" a function causes information to be printed every time the function is entered or exited. These are very useful debugging tools.
"Advising" is a facility for specifying longer-term function modifications. Even system functions can be changed through advising.
{Include BreakFns}
{Include Advising}
}{End Chapter Breaking, Tracing, and Advising}