haskell-notes

продвинутых текстовых редакторах (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.

Большая книга для читателей, всерьёз заинтересовавшихся функциональным программированием.

Прочитав её, вы сможете не только пользоваться ФП-языками но и написать такой язык самостоя-

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162