Hi all,
Given some structure, say:
Given some structure, say:
(defstruct quux
name)
is the following a "literal"?#S(quux :name "Guy")
I ask because I was playing with OPTIMA, and wanted to use FARE-QUASIQUOTE for specifying patterns with backquotes, but FARE-QUASIQUOTE is not pleased:`(#S(quux :name "Guy"))
=>
"unrecognized object in quasiquote"
and in poking around, the expansion code includes a call to FARE-UTILS:LITERALP, which is:(defun literalp (x)
"predicate that tells whether X is the source form for a literal expression."
(typep x '(or boolean number character array keyword)))
Structures are conspicuously missing, and that surprised me. SBCL's new(ish) backquoting does what I expect. Is this a grey area? Not something one should rely on?~garethw