Haskell - это язык программирования, изложенный в спецификациях,
Haskell — это язык программирования, изложенный в спецификациях,
последняя версия которых опубликована в 2010 году.
последняя версия которых опубликована в 2010 году.
Эта спецификация доступна как [онлайн-документ](http://www.haskell.org/onlinereport/haskell2010/).
Эта спецификация доступна как [онлайн-документ](http://www.haskell.org/onlinereport/haskell2010/).
## GHC
## GHC
[GHC](http://www.haskell.org/ghc/) - это самый популярный способ работы с языком Haskell. Он включает в себя компилятор, REPL (интерпретатор), пакетный менеджер и другие полезные вещи.
[GHC](http://www.haskell.org/ghc/) — это самый популярный способ работы с языком Haskell. Он включает в себя компилятор, REPL (интерпретатор), пакетный менеджер и другие полезные вещи.
*Опционально:* вы можете добавить также `.cabal-sandbox/bin` к вашему пути.
*Опционально:* вы можете добавить также `.cabal-sandbox/bin` к вашему пути.
Код, который вы разрабатываете, будет доступен вам из командной строки.
Код, который вы разрабатываете, будет доступен вам из командной строки.
Это работает только тогда, когда ваша текущая рабочая папка - песочница cabal.
Это работает только тогда, когда ваша текущая рабочая папка — песочница cabal.
## Debian
## Debian
@ -210,7 +210,7 @@ PATH=$PATH:$HOME/.cabal/bin
alias cabal="$HOME/.cabal/bin/cabal"
alias cabal="$HOME/.cabal/bin/cabal"
```
```
Если вы не знаете, какая оболочка у вас используется, то скорее всего это Bash. Если это Bash, то файл, в который вам надо добавлять эти строки -`~/.bashrc`. Если вы используете Z-shell, то это `~/.zshrc`. Вы можете понять, какая оболочка у вас используется, запустив:
Если вы не знаете, какая оболочка у вас используется, то скорее всего это Bash. Если это Bash, то файл, в который вам надо добавлять эти строки —`~/.bashrc`. Если вы используете Z-shell, то это `~/.zshrc`. Вы можете понять, какая оболочка у вас используется, запустив:
```bash
```bash
echo $SHELL | xargs basename
echo $SHELL | xargs basename
@ -427,7 +427,7 @@ Writer, State) для себя, чтобы понять их лучше. Зат
- [Этот рассказ](https://vimeo.com/73648150) от Tony отлично мотивирует трансформеры монад
- [Этот рассказ](https://vimeo.com/73648150) от Tony отлично мотивирует трансформеры монад
- [Functional Reactive Web Interfaces with GHCJS and Sodium](http://weblog.luite.com/wordpress/?p=127)
— [Functional Reactive Web Interfaces with GHCJS and Sodium](http://weblog.luite.com/wordpress/?p=127)
- [Writing Atom plugins in Haskell using ghcjs ](http://edsko.net/2015/02/14/atom-haskell/)
— [Writing Atom plugins in Haskell using ghcjs ](http://edsko.net/2015/02/14/atom-haskell/)
* [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/)
## Какой фронтенд язык мне использовать?
## Какой фронтенд язык мне использовать?
@ -706,10 +706,9 @@ catamorphisms). Знание о том, как реализовать unfold (an
- [An introduction to recursion schemes](http://patrickthomson.ghost.io/an-introduction-to-recursion-schemes/)
- [An introduction to recursion schemes](http://patrickthomson.ghost.io/an-introduction-to-recursion-schemes/)
- [Don't fear the cat](http://fho.f12n.de/posts/2014-05-07-dont-fear-the-cat.html) -
- [Don't fear the cat](http://fho.f12n.de/posts/2014-05-07-dont-fear-the-cat.html) — хорошая демонстрация того, как hylomorphism, это композиция из cata и ana.
Хорошая демонстрация того, как hylomorphism, это композиция из cata и ana.
- [Recursion Schemes](http://comonad.com/reader/2009/recursion-schemes/) - это
- [Recursion Schemes](http://comonad.com/reader/2009/recursion-schemes/) — это
руководство просто замечательно!
руководство просто замечательно!
- [Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire](http://eprints.eemcs.utwente.nl/7281/01/db-utwente-40501F46.pdf)
- [Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire](http://eprints.eemcs.utwente.nl/7281/01/db-utwente-40501F46.pdf)