Micro Lisp. Основные понятия, структуры и функции. Яшин Л.З. - 9 стр.

UptoLike

Составители: 

9
[1] (cdr '(а))
()
Из соображений удобства значением функции CDR от пустого списка считается
NIL:
[2] (cdr nil)
()
Так же как и CAR, функция CDR определена только для списков. Значение для
атомов не определено, что может приводить к сообщению об ошибке:
[3] (cdr 'дом)
[VM ERROR encountered!] Invalid operand to VM instruction
(CDR ДОМ)
Примеры:
[0] (cdr '(s1 s2))
(S2)
[1] (cdr '(a b c))
(B C)
[2] (cdr '(a (b c)))
((B C))
[3] (cdr '((a) b c d))
(B C D)
[4] (car (cdr '(ab cd ef)))
CD
Функция СОNS включает новый элемент в начало списка
Функция CONS строит новый список из переданных ей в качестве аргументов
головы и хвоста:
(CONS голова хвост)
Функция добавляет новое выражение в список в качестве первого элемента:
[1] (cons 'а '(b с))
(А B С)
[2] (cons '(а b) '(с d))
((А B) С D)
[3] (cons (+ 1 2) '(+ 4))
(3 + 4)
                                         9

       [1] (cdr '(а))
       ()
       Из соображений удобства значением функции CDR от пустого списка считается
NIL:
       [2] (cdr nil)
       ()
      Так же как и CAR, функция CDR определена только для списков. Значение для
атомов не определено, что может приводить к сообщению об ошибке:
       [3] (cdr 'дом)
       [VM ERROR encountered!] Invalid operand to VM instruction
       (CDR ДОМ)


       Примеры:
        [0] (cdr '(s1 s2))
        (S2)
        [1] (cdr '(a b c))
        (B C)
        [2] (cdr '(a (b c)))
        ((B C))
        [3] (cdr '((a) b c d))
        (B C D)
        [4] (car (cdr '(ab cd ef)))
        CD


       Функция СОNS включает новый элемент в начало списка

     Функция CONS строит новый список из переданных ей в качестве аргументов
головы и хвоста:
       (CONS голова хвост)
       Функция добавляет новое выражение в список в качестве первого элемента:


        [1] (cons 'а '(b с))
        (А B С)
        [2] (cons '(а b) '(с d))
        ((А B) С D)
        [3] (cons (+ 1 2) '(+ 4))
        (3 + 4)