"Delete" the symbol sym
. For internal symbols, that means to
remove it from the internal hash table, effectively transforming it to a
transient symbol. For external symbols, it means to mark it as "deleted", so
that upon a later commit
it will be
removed from the database file. See also intern
.
: (de foo (Lst) (car Lst)) # 'foo' calls 'car'
-> foo
: (zap 'car) # Delete the symbol 'car'
-> "car"
: (pp 'foo)
(de foo (Lst)
("car" Lst) ) # 'car' is now a transient symbol
-> foo
: (foo (1 2 3)) # 'foo' still works
-> 1
: (car (1 2 3)) # Reader returns a new 'car' symbol
!? (car (1 2 3))
car -- Undefined
?