Skip to content

Instantly share code, notes, and snippets.

@quicklisp
Created December 13, 2019 01:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save quicklisp/23728531bb61f9f47dc0d960ae62a45a to your computer and use it in GitHub Desktop.
Save quicklisp/23728531bb61f9f47dc0d960ae62a45a to your computer and use it in GitHub Desktop.
(defun odd-symbols ()
(labels ((lambda-list-keyword (s)
(member s lambda-list-keywords))
(standard-declaration (s)
(member s '(ignore
ignorable
dynamic-extent
special
type ftype
optimize
inline notineline
declaration)))
(declaration-related (s)
(or (standard-declaration s)
(member s '(declare notinline
safety speed space debug
compilation-speed))))
(type-related (s)
(member s '(satisfies)))
(clos-related (s)
(member s '(call-next-method
next-method-p
make-method
standard)))
(documentation-related (s)
(member s '(structure
variable
compiler-macro))))
(let ((r '()))
(do-external-symbols (s 'cl r)
(when (not (or (fboundp s)
(boundp s)
(find-class s nil)
(ignore-errors (sb-kernel:type-or-nil-if-unknown s))
(clos-related s)
(declaration-related s)
(type-related s)
(documentation-related s)
(lambda-list-keyword s)))
(push s r))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment