Читайте также:
|
|
Список - структура, которая либо пуста, либо состоит из 2-х элементов: головы и хвоста.
Хвост - обязательно является списком.
Примитивы работы со списками.
(car список) -> S-выражение
(cdr список) -> список
(cons s-выр список) -> список
(cons s-выр s-выражение) -> точечная пара
>(car '(A B C))
A
>(car '((A B) C)
(A B)
>(cdr '((a b) c d)
(c d)
>(cdr '(A))
NIL
>(cons '(1 2) '(3 4))
((1 2) 3 4)
Графическое представление списка.
Графическое представление списка основано на представлении списочной ячейки, состоящей из 2-х полей.1ая половина указывает на голову, 2ая на хвост. Из цепочки ячеек можно составить одноуровневый список.
(atom s-выр) -> T/NIL
>(atom x)
nil
>(atom 'x)
T
(NULL список) -> T(если список явл. пустым)
Принципы работы с памятью функциональной и логической программы
В функциональном и логическом программировании имеющиеся в памяти структуры не разрушаются. Функциональная программа генерирует новые структуры из уже имеющихся методом анализа и синтеза.
Мусором называются ячейки памяти, которые занимают ячейки памяти в куче, но не доступны программисту. Во все функциональные языки программирования включены автоматические сборщики мусора, которые либо постоянно, либо периодически сканируют память, обнаруживают мусорные ячейки и переводят их в разряд свободных.
Дата добавления: 2015-07-19; просмотров: 112 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Основные задачи для функционального и логического программирования. | | | Рекурсия по аргументу, пример |