Справка
x
Поиск
Закладки
Озвучить книгу
Изменить режим чтения
Изменить размер шрифта
Оглавление
Для озвучивания и цитирования книги перейдите в режим постраничного просмотра.
Функциональное программирование
Материалы лекций
/
/
Для продолжения работы требуется
Registration
Предыдущая страница
Следующая страница
Table of contents
Введение
Практикум
Рабочая программа
Материалы лекций
-
Лекция 1. Интуитивные модели
1.1. Общее представление о функциональном программировании
1.2. Математические основы функционального программирования
1.3. Парадигмы параллельного программирования
1.4. Лисп и прагматика его системной поддержки
1.5. История Лиспа и его реализаций
1.5.1. Ранняя история языка
1.5.2. Многолетняя дружба
1.5.3. LISP - БЭСМ-6 (ВЦ АН СССР)
1.5.4. ЛИСП - БЭСМ-6 (ВЦ СО АН СССР)
1.5.5. Стандартизация Лиспа
1.6. Роль функционального подхода
1.6.1. Данные и программы
1.6.2. Языки функционального программирования
1.7. Принципы функционального программирования
1.7.1. Семантические принципы
1.7.2. Прагматические принципы
1.7.3. Следствия и обобщения
1.8. Производительность программ и продуктивность программирования
Лабораторная 1. Образы и модели
Лекция 2. Символьное представление информации
2.1. Элементарный Лисп (Pure Lisp)
2.2. Атомы и списки
2.3. Точечная нотация
2.4. Функции, выражения, программа
2.5. Определение рекурсивных функций
2.6. Техника функционального программирования
2.7. Примеры обработки списков
2.8. Универсальная функция
2.8.1. Подготовка к определению универсальной функции
2.8.2. Определение универсальной функции
2.9. Предикаты и истинность
Лабораторная 2. Практикум. Решение задач
Лекция 3. Пространство возможностей. Развитие понятий. Укрупнение действий
3.1. Числа и мультиоперации
3.2. Отображения и функционалы
3.3. Примеры отображений
3.4. Безымянные функции
3.5. Композиции функционалов, фильтры, редукции, свертки
3.6. Встроенные функционалы (Clisp)
3.7. Авторекурсивные функции
Лабораторная 3. Практикум. Функционалы
Лекция 4. Продуктивность программирования. Иерархия данных и программ
4.1. Удобочитаемость и отладка программ
4.2. Диалог с лисп-интерпретатором. Интерпретирующая система
4.3. Реализационное уточнение правил интерпретации. Имена, определения и контексты
4.4. Именование значений и подвыражений
4.5. Именованные константы
4.6. Иерархия функций
4.7. Императивные формы и циклы
4.8. Свойства атомов и категории функций
4.8.1. Списки свойств атомов и структура списков
4.8.2. Гибкий интерпретатор. Уточнение правил интерпретации
4.9. Пространства имен
Лабораторная 4. Монады (варианты интерпретаторов)
Лекция 5. Производительность программ. Реализационная прагматика
5.1. Абстрактная лисп-машина SECD (АМ)
5.2. Низкоуровневое программирование. Моделирование АМ
5.3. Функциональная модель процессора АМ
5.4. Компиляция функций
5.4.1. Требования к компиляции программ. Процесс компиляции
5.4.2. Требования к компилируемым лисп-программам
5.5. Венский метод. Операционная семантика
5.6. Определение лисп-компилятора на Лиспе
5.7. Декомпозиция программы
Цели декомпозиции программ
5.8. Функции высших порядков
5.8.1. Ранжирование функций
5.8.2. Синтаксически управляемое конструирование распознавателей
5.9. Преобразование определений. Гомоиконность
Лабораторная 5. Абстрактная машина (семантический базис разных языков программирования)
Лекция 6. Функциональное моделирование парадигм. Динамика постановок задач
6.1. Варианты, последовательности, множества. Недетерминированные процессы
6.2. Реализация недетерминированных моделей
6.3. Обработка множеств и последовательностей
6.4. Соответствие точности решения и уровня изученности задач
6.4.1. "Дорожная карта" изучения ФП
6.4.2. Элементарный Лисп
6.5. Основные принципы объектно-ориентированного программирования
6.5.1. Декомпозиция объектно-ориентированных программ
6.5.2. Множественное наследование
6.5.3. Определяемые объекты
6.5.4. Функциональный синтаксис
6.6. Экземпляры объектов
6.6.1. Векторная реализация
6.6.2. Еще одна реализация
6.7. Особенности CLOS
6.7.1. Классы и экземпляры объектов
6.7.2. Свойства слотов
6.7.3. Суперкласс
Лабораторная 6. PROG‑форма и ООП. Недетерминизм
7.1. Резервы производительности обобщенных процессов
Смешанные вычисления
7.2. Макеты и конкретизация программ
Построение теорий при разработке программ
7.3. Мемоизация функций
Мемо-функции и тестирование
7.4. Функциональное программирование и параллельные вычисления
7.4.1. Асинхронные процессы и параллелизм
7.4.2. Многопроцессорное программирование
7.4.3. Высокопроизводительное программирование
7.4.4. Конкретизация функционального программирования для параллельных вычислений
7.5. Функциональный язык параллельного программирования SISAL
Лабораторная 7. Многопоточные программы
Лекция 8. Языки функционального программирования и мультипарадигмальность
8.1. Классификация парадигм программирования
8.2. Прикладное программирование
8.3. Теоретическое программирование
8.3.1. Функциональное программирование
8.3.2. Логическое программирование
8.4. Машинно-ориентированное программирование
8.4.1. Низкоуровневое программирование
8.4.2. Системное программирование
8.5. Подходы к проявлению новых языков программирования
8.6. Вклад программистских решений в производительность программ
8.6.1. "Какой язык быстрее всех"
8.6.2. Сравнение языков Лисп и Java
8.6.3. Опыт оценивания учебных и олимпиадных программ
8.6.4. Измерение сложности программируемых решений
8.6.5. Основные выводы и гипотезы
Лабораторная 8. Различные функциональные языки программирования
Заключение
Список литературы
+
Терминологический справочник
Список сокращений
Приложения
+
Оглавление
Данный блок поддерживает скрол*