Лисп (Lisp)



Знакомство с интерпретатором Лиспа
В задачу лабораторной входит освоение работы с интерпретатором, освоение встроенного отладчика и режима пошагового исполнения. Изучение функционального базиса Лиспа, понятия S-выражения и различных способов их представления. Создание первой программы на Лиспе. Освоение редактора и различных способов загрузки Лисп программ для исполнения.
Техники функционального программирования
Задачей является знакомство с техниками функционального программирования. Изучение понятия рекурсии. Овладение навыками использования накапливающего параметра. Знакомство с понятием чистой и тотальной функции. Исследование взаимоотношения этих понятий и свойства аддитивной отладки системы функций. Знакомство с универсальным программированием и ленивыми вычислениями. Решение задач.
Функционалы
Целью является освоение понятия функции высшего порядка. Изучение категорий концепций регулярной обработки данных и процессов. Овладение навыками вычисления типа функции и спецификации данных. Изучение фунарг-проблемы и понятия лексического замыкания. Освоение композиции функционалов и методов ее анализа. Изучение функционалов, входящих в стандарт common lisp.
Простые задачи (5 задач). (С решением)
1. Задача: Длина списка
2. Задача: Обращение списка
3. Задача: В один уровень
4. Задача: Факториал
5. Задача: Числа Фибоначчи
Задачи. Решение задач. (Без решения)
1.Задача: Реализовать операции работы с множествами
2. Задача: Множество всех подмножеств
3. Задача: Равенство множеств
4. Задача: Декартово произведение
5. Задача: Выбор элемента
6. Задача: Предикат включения
7. Задача: Область определения и значения отношения
Задачи. Решение задач. (С решением)
1.Задача: Реализовать операции работы с множествами
2. Задача: Множество всех подмножеств
3. Задача: Равенство множеств
4. Задача: Декартово произведение
5. Задача: Выбор элемента
6. Задача: Предикат включения
7. Задача: Область определения и значения отношения