продвинутых текстовых редакторах (vim, Emacs, scite, kate, notepad++). Отметим всё же среду разработки
Leksah (http://leksah.org/), она написана на Haskell и её можно установить с Hackage.
Если вы не хотите разбираться с новым текстовым редактором или средой разработки, и вам нужна лишь
подсветка синтаксиса можно воспользоваться gedit. Пишем код в gedit, сохраняем, переключаемся на ghci,
пробуем, обновляем, пробуем, при случае компилируем или собираем в пакет. Всё это можно делать и в
gedit.
Начало работы с Haskell | 319
Литература
О Haskell написано много интересных книг и статей, но все они на английском. На русском языке выходит
электронный журнал “Практика функционального программирования” (). Пока в нём доминируют два языка
– это Erlang и Haskell.
Я бы хотел рассказать о тех книгах и статьях, которые мне помогли. Все они приняли активное участие
в создании этой книги.
Книги
• Miran Lipovac?a. Learn You A Haskell For A Great Good.
Очень хорошая книга для начинающих, Haskell в картинках. Весёлая и познавательная книга1
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, но и музыкой. Он написал книгу, которая целиком посвящена
описанию музыки в Haskell:
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 Haskell: 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.
Большая книга для читателей, всерьёз заинтересовавшихся функциональным программированием.
Прочитав её, вы сможете не только пользоваться ФП-языками но и написать такой язык самостоя-