4.3.
Реализация символических структур на языке LISP
Как только
мы беремся за задачу реализации символических структур и выполнения операций
над такими структурами, немедленно встает вопрос, о каких именно структурах
идет речь. Символы в логике и математике обычно организованы в виде множеств
или последовательностей. Посмотрим, как эти формальные структуры,
достаточно понятные на абстрактном уровне, можно использовать в качестве базиса
для структуры, объединяющей физические символы.
Множество
— это неупорядоченный набор элементов, в то время как физические символы в структуре
должны занимать определенное положение (это положение может быть скрытым от
программиста, и он может рассматривать структуру как неупорядоченное множество,
но это уже относится в особенностям реализации). Последовательность, как структура,
позволяет говорить о месте символа в этой последовательности, но абстрактная
последовательность может быть бесконечной.
Хорошим кандидатом на место базисной структуры в физической символической системе является список— элементы в списке занимают совершенно определенное место и его можно однозначно связать с каждым отдельным элементом. С помощью списка можно представить и множество, и последовательность, хотя размерность последней и ограничена физическими характеристиками среды реализации.