On the tangential topic of quines.
Here is my "due diligence".
By the way, in October I realized on my own a quine could be done with
`lambda' and `let', tried to work it out, ran out of time, left it
aside, and, alas, never went back to it...
(defun quinep (form)
"Test whether a non-atom FORM evaluates to itself.
Test equality with `equalp' for better coverage (of implementations
that construct structures when reading backquoted expressions)."
;; A justified use of `eval'.
(and (not (atom form))
(equalp form (eval form))))
;; NB: `*print-pretty*' may affect the printing of backquotes.
(defconstant pitmanual-funnies-eni-mmcm
'(LET ((LET '`(LET ((LET ',LET)) ,LET)))
`(LET ((LET ',LET)) ,LET))
"MMcM's quine.
See <https://maclisp.info/pitmanual/funnies.html#evaluating_new_ideas>,
«MMcM@MIT-AI 09/17/79 15:37:16 Re: ''s».")
(defconstant pitmanual-funnies-eni-rwk-kmp
'((LAMBDA (LAMBDA) (LIST (LIST 'LAMBDA '(LAMBDA) LAMBDA)
(LIST 'QUOTE LAMBDA)))
'(LIST (LIST 'LAMBDA '(LAMBDA) LAMBDA)
(LIST 'QUOTE LAMBDA)))
"RWK-KMP's quine.
See <https://maclisp.info/pitmanual/funnies.html#evaluating_new_ideas>,
«KMP,RWK@MIT-ML (Sent by KMP@MIT-ML) 09/18/79 03:37:32».")
(assert (quinep pitmanual-funnies-eni-mmcm))
(assert (quinep pitmanual-funnies-eni-rwk-kmp))