Reset state in Common Lisp

Tag: common-lisp , sbcl Author: shenwb01 Date: 2010-08-31

Newbie Common Lisp question here.

Is there a way to reset the state of the environment? What I mean, is there some command that brings the REPL back to the same state it was right after it started up, that is, uninterning all variables, functions, etc. Or if that's not in the Common Lisp standard, is there some extension in SBCL (the implementation I use) to do that?

(EDIT: I know that in SLIME, M-x slime-restart-inferior-lisp does that but I wonder if there's a way without restarting the process)

Best Answer

Not in general, no. I occasionally want to do something like that, so my workflow is generally to create a new package to hold whatever project I'm starting, then when I want to reset things I use DELETE-PACKAGE. I never do any work in the CL-USER package, since different implementations have different things stuffed into it.

Other Answer1

Use C-c M-o, as given in REPL menu's Clear Buffer

comments:

That just deletes the output, while the OP asked for a way to reset state, like uninterning symbols etc.