Table of Contents
1 forget
Forget things about symbols. Handy during interactive development.
The forget
function will forget function bindings, symbol bindings,
and class bindings. It will also unintern a symbol from its home package.
The forget
function can forget packages too, but you must pass
:package? t
as an argument.
Any of the default options can be turned off by passing nil
to the
appropriate option. E.g. if you wanted to forget everything but not
unintern the symbol, you'd pass :intern? nil
.
Example:
CL-USER> (defvar unremarkable "hey") UNREMARKABLE CL-USER> (defun unremarkable () "hey") UNREMARKABLE CL-USER> (defclass unremarkable () ()) #<STANDARD-CLASS COMMON-LISP-USER::UNREMARKABLE> CL-USER> (setf (get 'unremarkable :hey) "you") "you" CL-USER> (defpackage :unremarkable (:use #:cl)) #<PACKAGE "UNREMARKABLE"> CL-USER> (forget:forget 'unremarkable) WARNING: Unbinding function UNREMARKABLE WARNING: Unbinding value UNREMARKABLE WARNING: Unbinding class UNREMARKABLE WARNING: Dropping symbol-plist on UNREMARKABLE WARNING: Uninterning UNREMARKABLE from "COMMON-LISP-USER" NIL CL-USER> (forget:forget 'unremarkable :package? t) WARNING: Uninterning UNREMARKABLE from "COMMON-LISP-USER" WARNING: Deleting package "UNREMARKABLE" T CL-USER>
Created: 2023-09-16 Sat 12:12