Как реализованы cons ячейки в лиспе? - Lisp
Формулировка задачи:
Являются ли cons ячейки связным списком в одну сторону?
Решение задачи: «Как реализованы cons ячейки в лиспе?»
textual
Листинг программы
struct NewLispObject {
void * data;
type_t type;
}
Объяснение кода листинга программы
Структура NewLispObject представляет собой объект в новом лисп-движке и содержит указатель на данные и тип данных.
struct NewLispObject- определяет структуру нового лисп-объектаvoid * data- указывает на данные, которые содержит объектtype_t type- определяет тип данных объекта В лиспеconsячейки используются для хранения пар значений. Каждаяconsячейка содержит два значения:car(первое значение) иcdr(второе значение). Код, представленный в вопросе, скорее всего, реализуетconsячейки в новом лисп-движке. Он определяет структуруNewLispObject, которая представляет новый лисп-объект, содержащий пару значений, аналогичныхconsячейке. Указатель на данные (data) и тип данных (type) хранятся в структуреNewLispObject, чтобы можно было обрабатывать объекты в коде лисп-движка.