5:20:32jackdanielatom may or may not denote a constant
5:20:49jackdaniel(defconstant +foo+ 42) vs (defvar +bar+ 42)
5:21:08jackdaniel(+ 1 2 3) will be often constant if the compiler does some analysis
5:21:32jackdanielyou may call (eval <constant>) on constants at compilation time
5:21:47jackdanielright, I misunderstood what you wrote, still not quite right (ditto defconstant vs defvar)
5:26:34moon-childif something is an atom (and not a symbol), then it is a constant
5:26:48moon-childif it is not an atom, or it is a symbol, then it might also be a constant
6:43:02mrcomAnything can be a constant. For example, I just had to fix some of my code when SBCL started treating a DEFCONST structure as a literal constant.
6:46:07mrcomFrom clhs definition of CONSTANTP: "An implementation is permitted, but not required, to detect additional constant forms. If it does, it is also permitted, but not required, to make use of information in the environment. Examples of constant forms for which constantp might or might not return true are: (sqrt pi), (+ 3 2), (length '(a b c)), and (let ((x 7)) (zerop x)). "