Основы функционального программирования

Основы функционального программирования

Общее представление о функциональном программировании и его применении
Математические основы функционального программирования
Лисп и принципы технической поддержки
Пример 2.1
Основы символьной обработки. Базовые средства
Природа данных
Самоописание обработки символьных выражений
Подобие машинным языкам
Данные

Точечная нотация


Основные понятия: программа, функции и выражения
Пример 3.1
Общий подход к обработке символьных выражений и представлению программ
Универсальная функция
Основные методы обработки списков

Определение универсальной функции
Предикаты и истинность в Лиспе

Основы функционального программирования

Пример 4.1
Отображения структур данных и функционалы
Числа и мультиоперации
Функционалы - общее понятие
Безымянные функции
Композиции функционалов, фильтры, редукции
Встроенные функционалы (Clisp)

Подведение итогов
Для самостоятельного решения
Пример 5.2
Интерпретирующая система. Реализационное уточнение интерпретации
Переменные
Константы

Функции
Функции на машинном языке (низкоуровневые)
Специальные формы
Неподвижная точка и самоприменимость функций
Программы для Лисп-интерпретатора.
Пример 6.1
Prog-выражения и циклы

Списки свойств атомов и структура списков
Представление структуры списка
Деструктивные (разрушающие) преобразования структуры списков
Список свободной памяти и сборщик мусора

Гибкий интерпретатор
Пример 7.1
Низкоуровневое программирование. Ассемблер
Абстрактная Лисп-машина. Система команд
Функциональная модель процессора абстрактной машины
Пример 8.1

Компилятор и требования к коду программы
Требования к компиляции Лисп-программ
Компиляция. Венский метод. Операционная семантика
Определение Лисп-компилятора на Лиспе

Основы функционального программирования

Сборка системы и ее рабочий цикл
Реализация динамической памяти и структур данных
Реальный состав системы и внешний мир
Общее представление о декомпозиции программ
ООП на Лиспе

Множественное наследование
Определяемые объекты
Функциональный синтаксис
Экземпляры
Векторная реализация
Еще одна реализация
Средства ООП в CLOS на базе стандарта Clisp
Классы и экземпляры объектов

Свойства слотов
Суперкласс
Недетерминированные процессы
Пересечение множеств A и B
Логические связки
Реализация недетерминированных моделей
Обработка множеств и последовательностей
Пример 12.1
Замедленные вычисления

Смешанные вычисления
Асинхронные процессы и параллелизм
Ранжирование функций
Конструирование распознавателей
Преобразование определений
Построение теорий при разработке программ

Макетирование функций
Мемо-функции и тестирование
Итоги и выводы
Практические аспекты
Развитие парадигм программирования

Содержание раздела