Реферат: ЛИСП

_(CAR ‘(a)) р a

_(CAR NIL) р NIL «Голова пустого списка - пустой список.»


Вызов функции CAR с аргументом (a b c d) без апострофа был бы проинтерпретирован как вызов функции «a» с аргументом «b c d», и было бы получено сообщение об ошибке.

Функция CAR имеет смысл только для аргументов, являющихся списками.


(CAR ‘a) р Error


Функция CDR - возвращает в качестве значения хвостовую часть списка, т. е. список, получаемый из исходного списка после удаления из него головного элемента:


(CDR список) р список

Функция CDR определена только для списков.


_(CDR ‘(a b c d)) р (b c d)

_(CDR ‘((a b) c d)) р (c d)

_(CDR ‘(a (b c d))) р ((b c d))

_(CDR ‘(a)) р NIL

_(CDR NIL) р NIL

_(CDR ‘a) р Error


Функция создания CONS.

Функция CONS строит новый список из переданных ей в качестве аргументов головы и хвоста.


(CONS голова хвост)


Для того чтобы можно было включить первый элемент функции CONS в качестве первого элемента значения второго аргумента этой функции, второй аргумент должен быть списком. Значением функции CONS всегда будет список:


(CONS s-выражение список) р список


_(CONS ‘a ‘(b c)) р (a b c)

_(CONS ‘(a b) ‘(c d)) р ((a b) c d)

_(CONS (+ 1 2) ‘(+ 3)) р (3 + 3)

_(CONS ‘(a b c) NIL) р ((a b c))

_(CONS NIL ‘(a b c)) р (NIL a b c)


Предикаты ATOM, EQ, EQL, EQUAL.

Предикат - функция, которая определяет, обладает ли аргумент определенным свойством, и возвращает в качестве значения NIL или T.

Предикат ATOM - проверяет, является ли аргумент атомом:


(ATOM s - выражение)


Значением вызова ATOM будет T, если аргументом является атом, и NIL - в противном случае.


К-во Просмотров: 682
Бесплатно скачать Реферат: ЛИСП