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

UptoLike

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

7
[1] (QUOTE (+ 2 3))
(+ 2 3)
[2] ‘(+ 2 3)
(+ 2 3)
ПРИМИТИВЫ ЯЗЫКА MICRO-LISP
Для построения, разбора и анализа списков существуют очень простые базовые
функции, которые в этом языке являются примитивами. В определенном смысле они
образуют систему аксиом языка (алгебру обработки списков), к которым в конце
концов сводятся символьные выражения. Базовые функции обработки списков можно
сравнить с основными действиями в арифметических вычислениях или в теории
чисел.
Простота базовых функций и их малое число - это характерные черты Лиспа. С
этим связана математическая элегантность языка. Разумно выбранные примитивы
образуют, кроме красивого формализма, также и практическую основу
программирования.
Базисными функциями обработки символьных выражений (атомов и списков)
являются:
CAR, CDR, CONS, АТОМ? и EQ?
Функции по принципу их использования можно разделить на функции разбора,
создания и проверки:
ИСПОЛЬЗОВАНИЕ ВЫЗОВОВ РЕЗУЛЬТАТ
Разбор: (САR список) s-выражение
(СDR список) список
Создание: (CONS s-выражение список) список
Проверка: (АТОМ? s-выражение) Т или NIL
(EQ? символ символ) Т или NIL
У функций CONS и ЕО? имеются два аргумента, у остальных примитивов
по одному. В качестве имен аргументов и результатов функций мы использовали
названия типов, описывающих аргументы, на которых определена (т. е. имеет смысл)
функция и вид возвращаемого функциями результата. S- выражение обозначает атом
или список.
ОСНОВНЫЕ ФУНКЦИИ ОБРАБОТКИ СПИСКОВ
Функция CAR возвращает в качестве значения головную часть списка
Первый элемент списка называется головной, а остаток списка, т. е. список без
первого его элемента, называется хвостом списка. Функция CAR имеет смысл только
для аргументов, являющихся списками, а следовательно, имеющих голову:
car: список -> s-выражение
                                          7

                                        [1] (QUOTE (+ 2 3))
                                        (+ 2 3)
                                        [2] ‘(+ 2 3)
                                        (+ 2 3)


                        ПРИМИТИВЫ ЯЗЫКА MICRO-LISP

       Для построения, разбора и анализа списков существуют очень простые базовые
функции, которые в этом языке являются примитивами. В определенном смысле они
образуют систему аксиом языка (алгебру обработки списков), к которым в конце
концов сводятся символьные выражения. Базовые функции обработки списков можно
сравнить с основными действиями в арифметических вычислениях или в теории
чисел.
      Простота базовых функций и их малое число - это характерные черты Лиспа. С
этим связана математическая элегантность языка. Разумно выбранные примитивы
образуют, кроме красивого формализма, также и практическую основу
программирования.
     Базисными функциями обработки символьных выражений (атомов и списков)
являются:
      CAR, CDR, CONS, АТОМ? и EQ?
      Функции по принципу их использования можно разделить на функции разбора,
создания и проверки:
   ИСПОЛЬЗОВАНИЕ ВЫЗОВОВ                              РЕЗУЛЬТАТ
   Разбор:   (САR список)                             s-выражение
             (СDR список)                             список
   Создание: (CONS s-выражение список)                список
   Проверка: (АТОМ? s-выражение)                      Т или NIL
             (EQ? символ символ)                      Т или NIL


      У функций CONS и ЕО? имеются два аргумента, у остальных примитивов —
по одному. В качестве имен аргументов и результатов функций мы использовали
названия типов, описывающих аргументы, на которых определена (т. е. имеет смысл)
функция и вид возвращаемого функциями результата. S- выражение обозначает атом
или список.


                 ОСНОВНЫЕ ФУНКЦИИ ОБРАБОТКИ СПИСКОВ
Функция CAR возвращает в качестве значения головную часть списка
       Первый элемент списка называется головной, а остаток списка, т. е. список без
первого его элемента, называется хвостом списка. Функция CAR имеет смысл только
для аргументов, являющихся списками, а следовательно, имеющих голову:
     car: список -> s-выражение