Я слышал, что активная таблица символов доступна в среде выполнения Common Lisp. Я неправильно понял?
Доступ к активной таблице символов в Common Lisp
comment
Что вы подразумеваете под активной таблицей символов?
- person dmitry_vk   schedule 20.09.2010
Ответы (2)
«Таблицы символов» в Common Lisp называются «пакетами». См., например: Введение в пакеты, CL HyperSpec.
В Common Lisp доступно несколько операций над пакетами: Словарь пакетов.
Символы могут быть членами пакетов (будучи "интернированными").
Переменная *package* содержит пакет как значение, которое используется несколькими операциями, использующими пакет по умолчанию. Примером может служить 'reader', который по умолчанию выполняет поиск в упаковке *пакет*.
person
Rainer Joswig
schedule
20.09.2010
о, так вот откуда берутся пакеты perl, и почему все typeglobs, которые являются записями, всегда привязаны к пакету O.o
- person Dmitry; 11.11.2016
Вы можете использовать do-all-symbols
.
См. здесь аналогичный вопрос. В принятом ответе также есть некоторые подробности о пакетах, что удобно.
Что-то вроде этого в коде. Определите useful-symbol-p
по своему усмотрению:
(let ((lst ()))
(do-all-symbols (s lst)
(when (useful-symbol-p s) (push s lst)))
lst)
person
clstrfsck
schedule
20.09.2010