(defun keywordp (s)
(and (symbolp s)
(eq (type-of (symbol-name s)) 'string)
(equal (char (symbol-name s) 0) #\:)))
The 'keywordp' function tests if a lisp expression is a keyword symbol.
(keywordp :a) => T (keywordp :B) => T (keywordp 'c) => NIL (keywordp "d") => NIL (keywordp #\e) => NIL (keywordp 123) => NIL