It is an interpreter in the sense that any Lisp expressions typed directly into the Lisp Top-Level will be read, evaluated, and printed. However, these expressions might simply be invocations of previously compiled functions, which will be executed as compiled code. See Evaluation in Lisp . Some implementations allow only one such process to run at a time, while others allow multiple process. Those that do allow multiple processes automatically share memory between processes and allow programs to directly create and control the various processes.
Lisp programs signal controlled errors rather than simply dumping core.
Any Lisp program can trap these error conditions and invoke a system supplied, interactive debugger.