From 1a57db908eaa729de4905e7583a910a0bc3adcc1 Mon Sep 17 00:00:00 2001 From: Alexey Gaziev Date: Wed, 29 Jul 2015 13:49:43 +0800 Subject: [PATCH] Guidlines and ubuntu installation --- guide-ru.md | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 93 insertions(+), 3 deletions(-) diff --git a/guide-ru.md b/guide-ru.md index 626c23c..7e34df7 100644 --- a/guide-ru.md +++ b/guide-ru.md @@ -1,8 +1,8 @@ # Как познать Haskell -Это - рекомендованный путь к изучению Haskell, основанный на опыте помощи другим +Этот документ - рекомендованный путь к изучению языка Haskell, основанный на опыте помощи другим -## Это руководство на других языках: +## Это руководство доступно на других языках: * [In English](README.md) @@ -20,7 +20,7 @@ * [繁體中文](guide-zh_tw.md) -#### *Не страдайте над одним топиком который вы не можете понять сразу*. Двигайтесь дальше! +#### *Не страдайте над одним топиком, который вы не можете понять сразу*. Двигайтесь дальше! ## Сообщество @@ -29,3 +29,93 @@ IRC канал `#haskell-beginners` на Freenode. IRC веб-клиент [здесь](http://webchat.freenode.net/). [Почтовые рассылки](https://wiki.haskell.org/Mailing_lists). + + +### Политика сообщества + +[Смотрите пост про обучение от Криса Дона](http://chrisdone.com/posts/teaching) + +Будьте дружелюбны и вежливы. Грубость и хамство испугает собеседника +и отталкнет от участия в общении. + +Слабая, неконструктивная критика удовлетворяет лишь +критикующего, но не помогает критикуемому. + +Не описывайте вещи как "легкие" или "тривиальные". +Вы заставляете людей чувствовать себя ужасно за то, +что они усердно и много работают ради своего прогресса. +Медленно-обучающиеся люди зачастую самые дотошные обучающиеся, +этому наоборот надо радоваться! + +Не симулируйте удивление. Не изображайте удивление, когда кто-либо +говорит, что он не знает что-то. Они будут чувствовать себя ужасно, +а вы не получите ничего, кроме резкости. + +"ну, на самом деле". Когда кто-либо говорит что-то почти - +но не совсем - верное, +а вы говорите "ну, на самом деле..." и даете лишь мелкую правку. +Это особенно раздражает, когда поправка не относится к основной +теме разговора. Это не значит, +что этот канал не про поиск правды или что нам все равно на точность. +Просто почти все "ну, на самом деле" являются показухой, а не поиском правды. + +Не делайте всю работу за обучающегося. +Если вы ввидите, что человек работает над проблемой, +вы не должны немедлено выдавать советы или готовые решения. +Дайте ему поработать и поизучать, +пока он сам не попросит помощи. +Избегать помех - [одна из основных причин существования #haskell-beginners](http://chrisdone.com/posts/teaching). + +Никаких -измов. Расизм, сексизм, гомофобия, +трансофобия и другие виды фобий не приветствуются и не будут приняты терпимо. + +--- + +[Правила хорошего тона от Recurse Center](https://www.recurse.com/manual). Спасибо за их публикацию Recurse Center. + +# Что такое Haskell, GHC и Cabal? + +Haskell - это язык программирования, изложенный в спецификациях, +последняя опубликована в 2010 году. +Эта спецификация доступна как [онлайн-документ](http://www.haskell.org/onlinereport/haskell2010/). + +## GHC + +[GHC](http://www.haskell.org/ghc/) - это самый популярный способ работы с языком Haskell. Он включает в себя компилятор, REPL (интерпритатор), пакетный менеджер и другие полезные вещи. + +## Cabal + +[Cabal](https://www.haskell.org/cabal/download.html) осуществляет менеджмент проектов и разрешение зависимостей. +Это способ установить проект, обычно в их песочницу (изолированное окружение). + +Cabal аналогичен Bundler в Ruby, pip в Python, NPM в Node и так далее. GHC управляет пакетами сам, Cabal решает какие версии устанавливать. + +# Установка GHC и Cabal + +## Ubuntu + +[Этот PPA](http://launchpad.net/~hvr/+archive/ghc) лучший и именно его я использую на +всех моих серверах и локальных машинах с Linux. + +А именно: +```bash +$ 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. + + +