More fixes

pull/80/head
Roman Shamin 9 years ago
parent 9ec617fb15
commit a65273df08

@ -1,6 +1,6 @@
# Как познать Haskell # Как познать Haskell
Этот документ — рекомендованный путь к изучению языка Haskell, основанный на опыте помощи другим Этот документ — рекомендованный путь к изучению языка Haskell, основанный на опыте помощи другим.
## Это руководство доступно на других языках: ## Это руководство доступно на других языках:
@ -26,7 +26,7 @@
IRC канал `#haskell-beginners` на Freenode. IRC канал `#haskell-beginners` на Freenode.
IRC веб-клиент [здесь](http://webchat.freenode.net/). [IRC веб-клиент](http://webchat.freenode.net/).
[Почтовые рассылки](https://wiki.haskell.org/Mailing_lists). [Почтовые рассылки](https://wiki.haskell.org/Mailing_lists).
@ -51,8 +51,7 @@ IRC веб-клиент [здесь](http://webchat.freenode.net/).
говорит, что он не знает что-то. Он будут чувствовать себя ужасно, говорит, что он не знает что-то. Он будут чувствовать себя ужасно,
а вы не получите ничего, кроме резкости. а вы не получите ничего, кроме резкости.
«Ну, на самом деле». Когда кто-либо говорит что-то почти - «Ну, на самом деле». Когда кто-либо говорит что-то почти — но не совсем — верное,
но не совсем — верное,
а вы говорите «ну, на самом деле...» и даете лишь мелкую правку. а вы говорите «ну, на самом деле...» и даете лишь мелкую правку.
Это особенно раздражает, когда поправка не относится к основной Это особенно раздражает, когда поправка не относится к основной
теме разговора. Это не значит, теме разговора. Это не значит,
@ -113,7 +112,7 @@ $ sudo apt-get update
$ sudo apt-get install cabal-install-1.22 ghc-7.8.4 happy-1.19.5 alex-3.1.4 $ 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, и тп): После этого, добавьте следующие пути к вашему `$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 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
@ -193,7 +192,7 @@ Portage установит древние версии различных ком
$ emerge -jav dev-lang/ghc dev-haskell/cabal-install $ emerge -jav dev-lang/ghc dev-haskell/cabal-install
``` ```
Gentoo хранит «стабильную» (читай «старую») версию `cabal-install` в дереве Portage, так что, если вы хотите использовать более современную версию `cabal-install`, выполните (заметтье, что слеши здесь нужны) Gentoo хранит «стабильную» (читай «старую») версию `cabal-install` в дереве Portage, так что, если вы хотите использовать более современную версию `cabal-install`, выполните (заметьте, что слеши здесь нужны)
```bash ```bash
$ \cabal update # Слеши здесь $ \cabal update # Слеши здесь
@ -243,7 +242,7 @@ $ cabal install alex happy
## Windows ## Windows
- [Минимальный установщик GHC для Windows](http://neilmitchell.blogspot.com/2014/12/beta-testing-windows-minimal-ghc.html) - [Минимальный установщик GHC для Windows](http://neilmitchell.blogspot.com/2014/12/beta-testing-windows-minimal-ghc.html)
способен скомпилировать `network` и тп. Технически, это бета версия, способен скомпилировать `network` и т. п. Технически, это бета версия,
но должна работать для тех, кто читает это руководство. но должна работать для тех, кто читает это руководство.
Не забудьте запустить установщик как администратор, так как он захочет установить файлы в Program Files. Не забудьте запустить установщик как администратор, так как он захочет установить файлы в Program Files.
@ -297,12 +296,12 @@ $ cabal install cabal-install alex happy
> Этот курс мы рекомендуем выполнять после курса Yorgey cis194. > Этот курс мы рекомендуем выполнять после курса Yorgey cis194.
Доступен на Github [здесь](https://github.com/NICTA/course). [Доступен на Github](https://github.com/NICTA/course).
Этот курс укрепит и добавит опыта реализации абстракций, Этот курс укрепит и добавит опыта реализации абстракций,
представленых в курсе cis194. представленых в курсе cis194.
Эта практика *критически важна* для комфортного использования Эта практика *критически важна* для комфортного использования
в дальнейшем таких абстракций как Functor/Applicative/Monad/и тп. в Haskell. в дальнейшем таких абстракций как Functor/Applicative/Monad/и т. п. в Haskell.
Выполнение cis194 и затем NICTA курсов представляет собой основную рекомендацию моего руководства и того, как научить любого языку Haskell. Выполнение cis194 и затем NICTA курсов представляет собой основную рекомендацию моего руководства и того, как научить любого языку Haskell.
--- ---
@ -435,9 +434,9 @@ Writer, State) для себя, чтобы понять их лучше. Зат
Упоминания: Упоминания:
- Комментарии на Reddit от htmltyp и Crandom [здесь](http://www.reddit.com/r/haskell/comments/29eke6/basic_program_ideas_for_learning_about_monads/cik5aj6). - [Комментарии](http://www.reddit.com/r/haskell/comments/29eke6/basic_program_ideas_for_learning_about_monads/cik5aj6) на Reddit от htmltyp и Crandom.
- Комментарий на Reddit от jozefg [здесь](http://www.reddit.com/r/haskell/comments/29eke6/basic_program_ideas_for_learning_about_monads/cik5trg). - [Комментарий](http://www.reddit.com/r/haskell/comments/29eke6/basic_program_ideas_for_learning_about_monads/cik5trg) на Reddit от jozefg.
## Трансформеры монад ## Трансформеры монад
@ -531,8 +530,7 @@ Cabal Hell был проблемой для пользователей Haskell
Более ничто не должно быть установлено глобально или в пользовательскую базу данных пакетов, Более ничто не должно быть установлено глобально или в пользовательскую базу данных пакетов,
если вы не уверены в том, что делаете. если вы не уверены в том, что делаете.
Несколько советов об избежании cabal hell можно найти [Советы](http://softwaresimply.blogspot.com/2014/07/haskell-best-practices-for-avoiding.html) как избежать cabal hell.
[здесь](http://softwaresimply.blogspot.com/2014/07/haskell-best-practices-for-avoiding.html).
Для экспериментов с пакетом или в начале нового проекта, начните с команды Для экспериментов с пакетом или в начале нового проекта, начните с команды
`cabal sandbox init` в новой папке. `cabal sandbox init` в новой папке.
@ -554,8 +552,7 @@ Cabal Hell был проблемой для пользователей Haskell
Для любых пользователей (обычно для пользователей Yesod), которые испытывают проблемы со сборкой, Для любых пользователей (обычно для пользователей Yesod), которые испытывают проблемы со сборкой,
существует Stackage. существует Stackage.
- Хороший обзор Stackage - [Хороший обзор Stackage](https://www.fpcomplete.com/blog/2014/05/stackage-server).
[здесь](https://www.fpcomplete.com/blog/2014/05/stackage-server).
По мнению автора, Stackage обычно более полезен, чем `cabal freeze`. По мнению автора, Stackage обычно более полезен, чем `cabal freeze`.
@ -565,10 +562,9 @@ Cabal Hell был проблемой для пользователей Haskell
[Поисковый движок Hoogle](http://www.haskell.org/hoogle/) может искать по типам. [Поисковый движок Hoogle](http://www.haskell.org/hoogle/) может искать по типам.
Например, взгляните на результат поиска для `(a -> b) -> [a] -> [b]` Например, взгляните на результат поиска для [`(a -> b) -> [a] -> [b]`](http://www.haskell.org/hoogle/?hoogle=%28a+-%3E+b%29+-%3E+%5ba%5d+-%3E+%5bb%5d).
[здесь](http://www.haskell.org/hoogle/?hoogle=%28a+-%3E+b%29+-%3E+%5ba%5d+-%3E+%5bb%5d).
Так же он доступен на fpcomplete [здесь](https://www.fpcomplete.com/hoogle). Так же он доступен [на fpcomplete](https://www.fpcomplete.com/hoogle).
Еще есть [Hayoo](http://holumbus.fh-wedel.de/hayoo/hayoo.html) (который включает все пакеты Еще есть [Hayoo](http://holumbus.fh-wedel.de/hayoo/hayoo.html) (который включает все пакеты
hackage для поиска по дефолту). hackage для поиска по дефолту).
@ -633,7 +629,7 @@ cabal haddock --hoogle --hyperlink-source \
* [PureScript](http://www.purescript.org/) * [PureScript](http://www.purescript.org/)
 — Не совсем Haskell как Haste или GHCJS, но популярный выбор многих пользователей Haskell  — Не совсем Haskell как Haste или GHCJS, но популярный выбор многих пользователей Haskell
 — Написан и вдохновлен языком Haskell  — Написан и вдохновлен языком Haskell
 — Попробуйте purescript в вашем браузере [здесь](http://try.purescript.org/)  — Попробуйте [PureScript](http://try.purescript.org/) в вашем браузере
 — Отличное руководство для [начала](http://www.christopherbiscardi.com/2014/06/22/getting-started-with-purescript/)  — Отличное руководство для [начала](http://www.christopherbiscardi.com/2014/06/22/getting-started-with-purescript/)
## Какой фронтенд язык мне использовать? ## Какой фронтенд язык мне использовать?
@ -829,6 +825,6 @@ catamorphisms). Знание о том, как реализовать unfold (an
## Диалоги ## Диалоги
> Хранятся в этом репозитории [здесь](dialogues.md). > Хранятся в этом репозитории [в dialogues.md](dialogues.md).
Они на самом деле достаточно важны и полезны. Просмотрите для погружения в некоторые из тем. Они на самом деле достаточно важны и полезны. Просмотрите для погружения в некоторые из тем.

Loading…
Cancel
Save