S – выражения. Списки. Точечная запись. Функции для работы со списками.
Областью определения и областью значений для функций в ФП являются S-выражения. Элементарными S-выражениями являются атомы. Из них строятся списки – последовательность S-выражений, заключенных в скобки. Особым s-выражением является пустой
список (), который считается атомом. В виде s-выражения можно представить любые формулы, при этом операции переводятся из инфиксной формы в префиксную. Для обработки S-выражений достаточно пяти функций: car, cdr, cons, atom, eq.
Car возвращает первый элемент списка.
cdr – возвращет список, полученный из исходного после отбрасывания первого элемента.
Cons – соединяет два S-выражения в единое S-выражение так, что первым элементом результата является первый аргумент функции, а хвостом - второй. При сцеплении двух атомов получается S-выраж-е, которое не является списком. Результат можно записывать как единый список, либо как точечную пару.
Atom – позволяет распознавать, является ли S-выражение списком или атомом.
Eq – сравнивает на равенство два атома. Если оба аргумента функции являются списками, то результат не определен, так как анализируется только значение указателя.