Основные понятия лиспа
ЛЕКЦИЯ 1.
| Введение. Основные понятия Лиспа.
|
|
| |
Содержание









ЛИСП - язык функционального программирования.
 |
Язык ЛИСП (LISP) был разработан в 1958 году американским
ученым Джоном Маккарти как функциональный язык, пред-
назначенный для обработки списков. ( LISt Processing).
Lisp - означает "лепетать". С появлением этого языка машина
стала пока лепетать, a не говорить по-человечески. |
|
|
| |
|
В основу языка положен серьезный математический аппарат:
лямбда-исчисление Черча
алгебра списочных структур
теория рекурсивных функций
Долгое время язык использовался узким кругом исследователей. Широкое распространение язык получил в конце 70-х - начале 80-х годов с появлением необходимой мощности вычислительных машин и соответствующего круга задач. В настоящем - Лисп одно из главных инструментальных средств систем искусственного интеллекта. Он принят как один из двух основных ЯП для министерства обороны США и постепенно вытесняет второй ЯП - АДА.
Система AutoCAD разработана на Лиспе.

Основные особенности Лиспа.
До изучения языка трудно говорить об его особенностях, но
тем не менее...
Представление программы и данных производится одинаково - через списки.
Это позволяет программе обрабатывать другие программы и даже саму себя.
Лисп как правило является интерпретирующим языком, также как BASIC.
Лисп безтиповый язык, это значит что символы не связываются по умолчанию
с каким-либо типом.
Лисп имеет необычный синтаксис. Из-за большего числа скобок LISP
расшифровывают как Lots of Idiotic Silly Parentheses.
Программы, написанные на Лиспе во много раз короче, чем написанные на процедурных языках.

ЛИСП. Элементарные понятия.
Символьные данные: выражения
и представление данных.
1 Выражения.
Основу ЛИСПа составляют символьные выражения, которые
называются S-выражениями и образуют область определения
для функциональных программ.
S-выражение (Simbolic expresion) - основная структура данных
в ЛИСПе.
(ДЖОН СМИТ 33 ГОДА) \ S-ВЫРАЖЕНИЯ ((МАША 21) (ВАСЯ 24) (ПЕТЯ 1)) /
S-выражение - это либо атом, либо список.

2 Атомы.
Атомы - это простейшие объекты Лиспа, из которых
строятся остальные структуры.
Атомы бывают двух типов -
символьные и числовые.
Символьные атомы - последовательность букв и цифр,
при этом должен быть по крайней мере один символ
отличающий его от числа.
ДЖОН АВ13 В54 10А
Символьный атом или
символ - это не идентификатор
переменой в обычном языке программирования.
Символ как правило обозначает какой либо предмет, объект
вещь, действие.
Символьный атом рассматривается как неделимое целое.
К символьным атомам применяется только одна операция:
сравнение.
В МCL в состав символа могут входить:
+ - * / @ $ % ^ _ \ <>
Числовые атомы - обыкновенные числа
124
-344
4.5 3.055Е8
Числа это константы.
Типы чисел зависят от реализации ЛИСПа
Атом - простейшее
S-выражение.

3 Списки.
В ЛИСПЕ
список это последовательность элементов
(list).
Элементами являются или атомы или списки.
Списки заключаются в скобки, элементы списка разделяются
пробелами.
(банан) 1 атом
(б а н а н) 5 атомов
(a b (c d) e) 4 элемента
Таким образом список - это многоуровневая или иерархическая структура данных, в которой открывающиеся и закрывающиеся скобки находятся в строгом соответствии.
(+ 2 3) 3 атома
(((((первый) 2) второй) 4) 5) 2 элемента
Список, в котором нет ни одного элемента, называется
пустым
списком и обозначается "
()" или символом
NIL.
NIL - это и список и атом одновременно.
Пустой список играет такую же важную роль в работе со списками,
что и ноль в арифметике.
Пустой список может быть элементом других списков.
(NIL) ;список состоящий из атома NIL
(()) ;то же самое, что и (NIL)
((())) ;- " -((NIL))
(NIL ()) ;список из двух других списков

4 Логические константы.
NIL обозначает кроме этого, в логических выражениях
логическую константу
"ложь" (false).
Логическое
"да"(true) задается символом
"Т".
Атомы и списки - это символьные выражения или S-выражения.
Соотношение рассмотренных основных типов ЛИСПА поясняет
диаграмма: