learnhaskell/guide-ru.md
2015-07-29 13:49:43 +08:00

6.2 KiB
Raw Blame History

Как познать Haskell

Этот документ - рекомендованный путь к изучению языка Haskell, основанный на опыте помощи другим

Это руководство доступно на других языках:

Не страдайте над одним топиком, который вы не можете понять сразу. Двигайтесь дальше!

Сообщество

IRC канал #haskell-beginners на Freenode.

IRC веб-клиент здесь.

Почтовые рассылки.

Политика сообщества

Смотрите пост про обучение от Криса Дона

Будьте дружелюбны и вежливы. Грубость и хамство испугает собеседника и отталкнет от участия в общении.

Слабая, неконструктивная критика удовлетворяет лишь критикующего, но не помогает критикуемому.

Не описывайте вещи как "легкие" или "тривиальные". Вы заставляете людей чувствовать себя ужасно за то, что они усердно и много работают ради своего прогресса. Медленно-обучающиеся люди зачастую самые дотошные обучающиеся, этому наоборот надо радоваться!

Не симулируйте удивление. Не изображайте удивление, когда кто-либо говорит, что он не знает что-то. Они будут чувствовать себя ужасно, а вы не получите ничего, кроме резкости.

"ну, на самом деле". Когда кто-либо говорит что-то почти - но не совсем - верное, а вы говорите "ну, на самом деле..." и даете лишь мелкую правку. Это особенно раздражает, когда поправка не относится к основной теме разговора. Это не значит, что этот канал не про поиск правды или что нам все равно на точность. Просто почти все "ну, на самом деле" являются показухой, а не поиском правды.

Не делайте всю работу за обучающегося. Если вы ввидите, что человек работает над проблемой, вы не должны немедлено выдавать советы или готовые решения. Дайте ему поработать и поизучать, пока он сам не попросит помощи. Избегать помех - одна из основных причин существования #haskell-beginners.

Никаких -измов. Расизм, сексизм, гомофобия, трансофобия и другие виды фобий не приветствуются и не будут приняты терпимо.


Правила хорошего тона от Recurse Center. Спасибо за их публикацию Recurse Center.

Что такое Haskell, GHC и Cabal?

Haskell - это язык программирования, изложенный в спецификациях, последняя опубликована в 2010 году. Эта спецификация доступна как онлайн-документ.

GHC

GHC - это самый популярный способ работы с языком Haskell. Он включает в себя компилятор, REPL (интерпритатор), пакетный менеджер и другие полезные вещи.

Cabal

Cabal осуществляет менеджмент проектов и разрешение зависимостей. Это способ установить проект, обычно в их песочницу (изолированное окружение).

Cabal аналогичен Bundler в Ruby, pip в Python, NPM в Node и так далее. GHC управляет пакетами сам, Cabal решает какие версии устанавливать.

Установка GHC и Cabal

Ubuntu

Этот PPA лучший и именно его я использую на всех моих серверах и локальных машинах с Linux.

А именно:

$ sudo apt-get update
$ sudo apt-get install python-software-properties # v12.04 and below
$ sudo apt-get install software-properties-common # v12.10 and above
$ sudo add-apt-repository -y ppa:hvr/ghc
$ sudo apt-get update
$ sudo apt-get install cabal-install-1.22 ghc-7.8.4 happy-1.19.5 alex-3.1.4

После этого, добавьте следующие пути к вашему $PATH (bash_profile, zshrc, bashrc, и тп):

export PATH=$PATH:~/.cabal/bin:/opt/cabal/1.22/bin:/opt/ghc/7.8.4/bin:/opt/happy/1.19.5/bin:/opt/alex/3.1.4/bin

Опционально: вы можете добавить также .cabal-sandbox/bin к вашему пути. Код, который вы разрабатываете будет доступен вам из командной строки. Это работает только тогда, когда ваша текущая рабочая папка - песочница cabal.