Приложения

Начало работы с Haskell

Компилятор

Для программирования в Haskell нам понадобится компилятор. Мы будем пользоваться наиболее развитым компилятором – GHC. Лучше всего устанавливать его вместе с Haskell Platform:

http://hackage.haskell.org/platform/

Haskell Platform содержит стабильную версию компилятора и много хороших, проверенных временем библиотек. Если по каким-то причинам установить Haskell Platform не удалось. Не отчаивайтесь, можно загрузить компилятор с сайта GHC:

http://www.haskell.org/ghc/

И далее установить все необходимые библиотеки с Hackage с помощью cabal (устанавливается отдельно с http://www.haskell.org/cabal/).

Среда разработки

Для Haskell существует очень мало сред разработки. Обычно на Haskell программируют в каких-нибудь продвинутых текстовых редакторах (vim, Emacs, scite, kate, notepad++). Отметим всё же среду разработки Leksah (http://leksah.org/), она написана на Haskell и её можно установить с Hackage.

Если вы не хотите разбираться с новым текстовым редактором или средой разработки, и вам нужна лишь подсветка синтаксиса можно воспользоваться gedit. Пишем код в gedit, сохраняем, переключаемся на ghci, пробуем, обновляем, пробуем, при случае компилируем или собираем в пакет. Всё это можно делать и в gedit.

Литература

О Haskell написано много интересных книг и статей, но все они на английском. На русском языке выходит электронный журнал “Практика функционального программирования” (). Пока в нём доминируют два языка – это Erlang и Haskell.

Я бы хотел рассказать о тех книгах и статьях, которые мне помогли. Все они приняли активное участие в создании этой книги.

Книги

Тематический сборник

Основы

Разработка программ сверху-вниз

Функторы и монады

Ленивые вычисления

Структурная рекурсия

Лямбда-исчисление и функциональное программирование

Теория категорий

Две очень хорошие книги для начинающих:

Статьи по категориальным типам:

Практика

Как работает GHC

Встроенные проблемно-ориентированные языки (EDSL)

И все-все-все

Если вдруг у вас возникли вопросы по Haskell, и рядом с вами не оказалось того, кто мог бы на них ответить, и в книгах нет ответа, вы можете спросить у сообщества Haskell, в haskell-cafe, там вам быстро и с радостью ответят:

http://www.haskell.org/mailman/listinfo/haskell-cafe

Сообщество Haskell славится радушием и терпимостью к начинающим. Там много информации о выпусках новых библиотек, конференциях, обучающих программах и просто разговоры о том-о-сём.

Также стоит отметить журнал Monad.Reader:

http://themonadreader.wordpress.com/

Обзор Hackage

Число пакетов, загруженных на Hackage, уже перевалило за 2000. В Hackage легко заблудиться. Очень часто не разберёшься какой из пакетов выбрать. К тому же многие из них заброшены или просто не подходят для использования в серьёзных приложениях. Но среди них есть и очень хорошие пакеты. Некоторые из них включены в Haskell Platform. Ниже приведён тематический обзор наиболее популярных пакетов.

Стандартные библиотеки

Все приведённые в этом подразделе библиотеки включены в Haskell Platform.

Полный список библиотек для Haskell Platform можно посмотреть на сайте http://lambda.haskell.org/hp-tmp/docs.

Эффективные типы данных

Разработка программ

И все-все-все

Места

Где культивируется Haskell?

Университеты

Посмотрим на университеты, в которых Haskell преподают, развивают и применяют:

Компании

Зарегистрировано под лицензией Creative commons Attribution-NonCommercial-NoDerivs 3.0 Generic (CC BY-NC-ND 3.0)

  1. Обновление: книга переведена на русский, вышла в издательстве ДМК Пресс.