Программирование на языке Lisp
Списки как основная структура данных — программы на Lisp — это вложенные списки, которые можно легко обработать как данные.
Гомоиконичность — у кода и данных одинаковая структура, на Lisp можно писать программы, которые изменяют или генерируют код во время выполнения.
Динамически типизированный язык — типы переменных определяются во время выполнения, а не во время компиляции, что делает код гибким.
Поддержка функционального программирования — предоставляет средства для такого стиля разработки: функции высшего порядка, замыкания, рекурсия, неизменяемость данных.
Некоторые этапы создания:
Основой для Lisp послужил ранний язык IPL, разработанный Ньюэллом, Шоу и Саймоном.
Исторически первой реализацией Lisp, включающей все современные базовые элементы языка, был интерпретатор, работавший на IBM 704, появившийся в октябре 1958 года.
В 1981 году группа хакеров начала работу над единым стандартом языка — Common Lisp, который вобрал в себя лучшие фичи всех существовавших диалектов.
-
Введение в программирование на Лиспе
Рассмотрим особенности функционирования Лисп-интерпретатора на примере системы GNU Clisp
Установка Лисп-системы
Диалог с Лисп-системой
Запуск Лисп-программ из файлов
Пошаговое вычисление
Сайты с Лисп-системами
Введение в программирование на Лиспе
Основы символьной обработки
Структуры данных
Точечная нотация
Выводы:
Пример 3.1
Введение в программирование на Лиспе
Специальные функции
Рекурсивные функции: определение и исполнение
Выводы:
Пример 4.1
Пример 4.1
Пример 4.10
Пример 4.10
Пример 4.11
Пример 4.11
Пример 4.12
Пример 4.12
Пример 4.14
Пример 4.14
Пример 4.2
Пример 4.3
Пример 4.3
Пример 4.4
Пример 4.4
Пример 4.5
Пример 4.6
Пример 4.8
Пример 4.8
Пример 4.9
Пример 4.9
Введение в программирование на Лиспе
Основные методы обработки списков
Выводы:
Пример 5.1
Пример 5.1
Введение в программирование на Лиспе
Определение универсальной функции
Вычисление
Предикаты и истинность в Лиспе
Выводы:
Пример 6.1
Пример 6.1
Введение в программирование на Лиспе
Числа и строки
Функционалы
Безымянные функции
Композиции функционалов, фильтры, редукции
Выводы:
Пример 7.1
Пример 7.1
Пример 7.10
Пример 7.10
Пример 7.11
Пример 7.11
Пример 7.12
Пример 7.12
Пример 7.13
Пример 7.13
Пример 7.2
Пример 7.2
Пример 7.3
Пример 7.3
Пример 7.4
Пример 7.4
Пример 7.5
Пример 7.5
Пример 7.6
Пример 7.6
Пример 7.7
Пример 7.7
Пример 7.8
Пример 7.8
Пример 7.9
Пример 7.9
Введение в программирование на Лиспе
Именование значений и подвыражений
Программы для Лисп-интерпретатора.
Выводы:
Пример 8.1
Пример 8.1
Пример 8.2
Пример 8.3
Пример 8.4
Пример 8.4
Введение в программирование на Лиспе
Замедленные вычисления (lazy evaluation)
Работа с событиями
Выводы:
Пример 9.1
Пример 9.1
Пример 9.2
Пример 9.3
Пример 9.3
Введение в программирование на Лиспе
Списки свойств атомов
Структура списков и памяти
Деструктивные (разрушающие) операции
"Сборка мусора" - повторное распределение памяти
Выводы:
Введение в программирование на Лиспе
Императивное программирование
Prog-форма
Присваивания
Циклы
Примеры программ с циклами
Выводы:
Пример 11.1
Пример 11.2
Пример 11.2
Пример 11.3
Пример 11.3
Пример 11.4
Пример 11.4
Пример 11.5
Пример 11.5
Пример 11.6
Пример 11.6
Введение в программирование на Лиспе
Вызов Лисп-интерпретатора и/или компилятора.
Практичные расширения Лиспа
Функциональное программирования
-
Введение в язык АвтоЛИСП. Лекции
Графический язык программирования Автолисп (AutoLisp) является расширением языка программирования Лисп (LISP). Лисп - это язык высокого уровня, ориентированный на обработку списков, который выбран в качестве базового потому, что графические примитивы (начиная с точки), блоки, наборы примитивов и блоков представляются в Автокаде в виде списков
-
Обучение AutoLISP в восьми уроках
ЛИСП осначает "обработку списков" или " программирование списков ". В ЛИСПЕ, основным обрабатывающим средством есть " нахождение значения объекта "; то-есть обработка - метод которым Lisp определяет значение любого выражения, сложного объекта, или простого объекта.