DO-SYMBOLS
and DO-EXTERNAL-SYMBOLS
. DO-SYMBOLS
iterates over the symbols accessible in the package and
DO-EXTERNAL-SYMBOLS
only iterates over the external
symbols (you can see them as the real package API).
To print all exported symbols of a package named "PACKAGE", you can write:
(do-external-symbols (s (find-package "PACKAGE")) (print s))You can also collect all these symbols in a list by writing:
(let (symbols) (do-external-symbols (s (find-package "PACKAGE")) (push s symbols)) symbols)Or you can do it with
LOOP
.
(loop for s being the external-symbols of (find-package "PACKAGE") collect s)