Насколько я знаю, это не охватывается спецификацией, и вам придется использовать решения, специфичные для реализации, или, возможно, попытаться посмотреть, не написал ли кто-нибудь тривиально-завершающую библиотеку (или запустить ее на 1001 * CLiki ).
Если вы заботитесь только об интерактивном использовании, ,q
в SLIME всегда будет действовать правильно. В противном случае вы можете использовать условные выражения для чтения, например:
(defun my-quit ()
#+sbcl (sb-ext:quit)
#+clisp (ext:exit)
#+ccl (ccl:quit)
#+allegro (excl:exit)) ;; and so on ...
#+
проверяет, находится ли следующий символ в *features*
. Если нет, следующая форма будет считаться пробелом. (Существует также #-
для противоположного).