М.: ДМК Пресс, 2006. — 608 с. — ISBN: 5-94074-335-8
Данная книга является первым в России изданием, рассматривающим функциональное программирование в полном объеме, достаточном для понимания новичку и для использования книги в качестве справочного пособия теми, кто уже использует парадигму функционального программирования в своей практике. Изучение прикладных основ показано на примере языка Haskell, на сегодняшний день являющегося самым мощным и развитым инструментом функционального программирования.
Издание можно использовать и в качестве учебника по функциональному программированию, и в качестве самостоятельного учебного пособия по смежным дисциплинам, в первую очередь по комбинаторной логике и исчислению.
Также книга будет интересна тем, кто всерьез занимается изучением новых компьютерных технологий, искусственного интеллекта и экспертных систем.
К книге прилагается компакт&диск с транслятором Haskell, а также различными библиотеками к нему, дополнительными утилитами и рабочими примерами программ, рассмотренных в книге.
СодержаниеВведение
Основы функционального программированияИстория функционального программирования
Основные свойства функциональных языков
Типовые задачи, решаемые методами функционального программирования
Конструирование функций
Доказательство свойств функций
Базовые принципы языка HaskellСписки - основа функциональных языков
Функции как описания процессов вычисления
Типизация данных и функций
Элементы программирования
Модули и абстрактные типы данных
Классы и их экземплярныйПараметрический полиморфизм данных
Наследование и реализация
Стандартные классы языка Haskell
Сравнение с другими языками программирования
Монады - последовательное выполнение действий в функциональной парадигмеМонада как тип- контейнер
Последовательное выполнение действий
Операции ввода/вывода в языке Haskell
Стандартные монады языка Haskell
Разработка собственных монад
Комбинаторная логика и λ-исчислениеОсновы комбинаторной логики
Абстракция функции как вычислительных процессов
λ- исчисление как теоретическая основа функционального программирования
Кодирование данных в λ- исчислении
Редукция и вычисления в функциональных языках
Трансляторы программМатематическая лингвистика
Краткое введение в теорию построения трансляторов
Реализация трансляторов на языке Haskell
Библиотеки для создания трансляторов
Частичные вычисления, трансформация программ и суперкомпиляция
Функциональное программирование и искусственный интеллектНечеткая математика и функциональное программирование
Логический вывод на знаниях
Перспективы функционального программирования
ЗаключениеОтветы на задачи для самостоятельного решения
Функциональные языки программирования и Интернет - ресурсы по функциональному программированию
Функциональные языки программирования
Русские Интернет-ресурсы
Иностранные Интернет-ресурсы
Опции различных сред разработки на языке Haskell
Интегрированная среда разработки HUGS 98
Компилятор GHC
Компилятор NHC
Компилятор компиляторов Happy
Описание стандартного модуля Prelude
Функции
Описание некоторых операторов языка Haskell
Краткий словарь терминов из области функционального программирования
Литература
Общая литература по функциональному программированию
Книги, руководства и статьи по языку Haskell
Комбинаторная логика и λ - исчисление
Математическая лингвистика и теория построения трансляторов
Искусственный интеллект