Как установить *readtable* на пустое значение в common-lisp?
Стандартный common-lisp определяет много макросов читателя, таких как (
а также )
для группировки, '
за quote
, "
для цитаты строки, |
для котировки символов, #
для отправки макроса и т. д. Теперь я хочу отключить их все и использовать свои собственные, и я должен позвонить set-macro-character
один за другим, чтобы отключить их все, а затем определить свои собственные.
Я обнаружил, что есть один способ восстановить все макросы чтения до стандартных, вызвав (setf *readtable* (copy-readtable nil))
, но есть ли способ установить их пустыми (т. е. все символы обрабатываются как обычные буквы и цифры)?
1 ответ
Я не думаю, что есть выход. Ожидается, что вы просто вносите дополнительные изменения в читатель Lisp, не пытаясь заменить его оптом. Он не предназначен для такого использования, потому что вы не можете определить все как макрос - большинство составляющих символов связано со встроенным поведением, которое не может быть определено как макрос чтения.