http://learnyouahaskell.com/
• Hal Daume III. Yet Another Haskell Tutorial.
Ещё одна очень хорошая книга для начинающих. Без картинок, но всё по делу.
• Paul Hudak. Haskell School of Expression.
Книга, которая иллюстрирует основные принципы функционального программирования на примере
Haskell. Главные достоинства – много текста об общих принципах и интересные приложения, картинки,
музыка, анимация, управление роботами и всё это на Haskell.
• Paul Hudak. Haskell School of Music.
Пол Хьюдак увлекается не только Haskell, но и музыкой. Он написал книгу, которая целиком посвящена
описанию музыки в Haskelclass="underline"
http://www.cs.yale.edu/homes/hudak/Papers/HSoM.pdf
http://haskell.cs.yale.edu/
• Bryan O’Sullivan, Don Stewart, John Goerzen. Real World Haskell.
Очень полезная книга в помощь тем, кто хочет научиться писать настоящие, серьёзные программы.
Авторы подробно изучают вопросы, связанные с применением Haskell на практике.
http://book.realworldhaskell.org/
• Готовится к выходу к книга Саймона Марлоу о параллельных вычислениях в Haskell. Обещает быть
очень интересной, уже известно, что книга будет доступна в интернете.
Тематический сборник
Основы
• John Hughes. Why Functional Programming Matters.
• Paul Hudak, John Hughes, Simon Peyton Jones, Philip Wadler. A History of Haskelclass="underline" Being Lazy With Class.
• Mark P. Jones. Functional Programming with Overloading and Higher-Order Polymorphism.
• Евгений Кирпичев. Элементы функциональных языков программирования, журнал Практика функци-
онального программирования.
• Simon Thompson. Programming It in Haskell.
• Justin Bailey. Haskell Cheat Sheet.
Разработка программ сверху-вниз
• Дмитрий Астапов. Давно не брал я в руки шашек, журнал Практика функционального программиро-
вания.
1Обновление: книга переведена на русский, вышла в издательстве ДМК Пресс.
320 | Приложения
Функторы и монады
• Conor McBride, Ross Paterson. Applicative programming with effects. Статья об аппликативных функторах.
• Philip Wadler. The Essence of Functional Programming.
Статья, в которой впервые зашла речь о применении монад в Haskell.
• Tarmo Uustalu, Varmo Vene. The Essence of Dataflow Programming.
Статья о комонадах, но есть много интересного и о монадах.
• Bulat Ziganshin. Haskell I/O inside: Down the Rabbit’s Hole. Статья на HaskellWiki.
• John Launchbury, Simon Peyton Jones. Lazy functional state threads.
Статья о типе ST.
• Simon Peyton Jones. Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and
foreign-language calls in Haskell.
Ленивые вычисления
• Douglas McIlroy. Power Series, Power Serious.
• Дмитрий Астапов. Реурсия+мемоизация=динамическое программирование, журнал Практика функ-
ционального программирования.
• Сергей Зефиров. Лень бояться, журнал Практика функционального программирования.
• Jerzy Karczmarczuk. Specific “scientific” data structures, and their processing.
Структурная рекурсия
• Graham Hutton. A tutorial on the universality and expressiveness of fold
• Jeremy Gibbons. Origami Programming.
• Jeremy Gibbons, Geraint Jones. The Under-Appreciated Unfold.
Лямбда-исчисление и функциональное программирование
• Шалак В.И. Шейнфинкель и комбинаторная логика.
• Paul Hudak: Conception, Evolution, and Application of Functional Programming Languages.
Длинная статья о развитии функциональных языков. Там есть главы о лямбда-исчислении.
• Бенджамин Пирс. Типы в языках программирования.
Большая книга о теории типов.
http://newstar.rinet.ru/~goga/tapl/
• Денис Москвин. Системы типизации лямбда-исчисления.
Курс видео-лекций.
http://www.lektorium.tv/course/?id=22797
• John Harrison. Introduction to Functional Programming.
Курс лекций по функциональному программированию, который читался в Университете Кэмбридж.
• А. Филд, П. Харрисон, Функциональное программирование, Москва “Мир”, 1993.
Большая книга для читателей, всерьёз заинтересовавшихся функциональным программированием.
Прочитав её, вы сможете не только пользоваться ФП-языками но и написать такой язык самостоя-
тельно.
• Rinus Plasmeijer and Marko van Eekelen. Functional Programming and Parallel Graph Rewriting.
В этой книге исследуются вопросы распараллеливания функциональных программ, построение ком-
пиляторов для функциональных языков.
Литература | 321
Теория категорий
Две очень хорошие книги для начинающих:
• Maarten M. Fokkinga. Gentle Introduction to Category Theory.
Также где-то в сети есть и перевод на русский.
• Steve Awodey. Category Theory.
• Eugenia Cheng, Simon Willerton aka TheCatsters. Курс видео-лекций на youtube.
http://www.scss.tcd.ie/Edsko.de.Vries/ct/catsters/linear.php
http://www.youtube.com/user/TheCatsters
Статьи по категориальным типам:
• Varmo Vene. Categorical Programming with Inductive and Coinductive Types. Phd-диссертация.
• Erik Meijer, Graham Hutton. Bananas in Space: Extending Fold and Unfold to Exponential Types.
• Martin Erwig. Categorical Programming with Abstract Data Types.
• Martin Erwig. Metamorphic Programming: Structured Recursion for Abstract Data Types.
Практика
• Conal Elliott. Denotational design with type class morphisms.
• Johan Tibell. High Performance Haskell. Слайды с выступления.
• Johan Tibel. Faster persistent data structures through hashing. Слайды с выступления.