I do not use Allegro CL, so I can only tell you about the tools that CL itself provides. You can check what the Allegro CL IDE offers for this task.
You can get a list of all packages with the LIST-ALL-PACKAGES function. You can use it to print your names:
(dolist (p (list-all-packages)) (write-line (package-name p)))
CL packages are collections of characters (such as names), not the objects associated with these names. You should request the names in them further to find out if there is a value and / or function defined for this symbol. You can use DO-SYMBOLS to iterate over all the characters in a packet. This will print all the characters in the current batch:
(do-symbols (s) (print s)
these are just the functions:
(do-symbols (s) (when (fboundp s) (print s)))
and these are only those functions whose home package is the current package:
(do-symbols (s) (when (and (eq (symbol-package s) *package*) (fboundp s)) (print s)))
RΓΆrd source share