mirror of
https://github.com/bitemyapp/learnhaskell.git
synced 2024-11-07 15:20:21 +00:00
More more fixes
This commit is contained in:
parent
a65273df08
commit
e98cf820b1
99
guide-ru.md
99
guide-ru.md
@ -33,7 +33,7 @@ IRC канал `#haskell-beginners` на Freenode.
|
|||||||
|
|
||||||
### Политика сообщества
|
### Политика сообщества
|
||||||
|
|
||||||
[Смотрите пост про обучение от Криса Дона](http://chrisdone.com/posts/teaching)
|
[Смотрите пост про обучение от Криса Дона](http://chrisdone.com/posts/teaching).
|
||||||
|
|
||||||
Будьте дружелюбны и вежливы. Грубость и хамство испугает собеседника
|
Будьте дружелюбны и вежливы. Грубость и хамство испугает собеседника
|
||||||
и оттолкнет от участия в общении.
|
и оттолкнет от участия в общении.
|
||||||
@ -234,7 +234,7 @@ $ cabal install alex happy
|
|||||||
Оно предоставляет инструкции, как добавить GHC и Cabal в ваш путь,
|
Оно предоставляет инструкции, как добавить GHC и Cabal в ваш путь,
|
||||||
после того как вы скопируете приложение `.app` куда-либо.
|
после того как вы скопируете приложение `.app` куда-либо.
|
||||||
|
|
||||||
### 10.6-10.8
|
### 10.6—10.8
|
||||||
|
|
||||||
Выполните установку бинарников, которая описана ниже,
|
Выполните установку бинарников, которая описана ниже,
|
||||||
для [этого архива](https://www.haskell.org/platform/download/2014.2.0.0/ghc-7.8.3-x86_64-apple-darwin-r3.tar.bz2).
|
для [этого архива](https://www.haskell.org/platform/download/2014.2.0.0/ghc-7.8.3-x86_64-apple-darwin-r3.tar.bz2).
|
||||||
@ -249,7 +249,7 @@ $ cabal install alex happy
|
|||||||
|
|
||||||
## Пользователям других Linux дистрибутивов
|
## Пользователям других Linux дистрибутивов
|
||||||
|
|
||||||
Скачайте последние бинарники cabal и ghc:
|
Скачайте последние бинарники Cabal и GHC:
|
||||||
|
|
||||||
- [GHC](http://www.haskell.org/ghc/).
|
- [GHC](http://www.haskell.org/ghc/).
|
||||||
|
|
||||||
@ -312,7 +312,7 @@ $ cabal install cabal-install alex happy
|
|||||||
|
|
||||||
cs240h доступен [онлайн](http://www.scs.stanford.edu/14sp-cs240h/).
|
cs240h доступен [онлайн](http://www.scs.stanford.edu/14sp-cs240h/).
|
||||||
|
|
||||||
Это онлайн курс от [Bryan O'Sullivan](https://github.com/bos), который он преподает в Стенфорде.
|
Это онлайн курс от [Bryan O’Sullivan](https://github.com/bos), который он преподает в Стенфорде.
|
||||||
Если вы не знаете кто он такой, взгляните на половину библиотек,
|
Если вы не знаете кто он такой, взгляните на половину библиотек,
|
||||||
от которых зависят все приложения на Haskell, и вы увидите его имя в их авторах.
|
от которых зависят все приложения на Haskell, и вы увидите его имя в их авторах.
|
||||||
Если вы уже закончили курс Yorgey, особого внимания в этом курсе заслуживают разделы о фантомных типах, контроле потоков информации, расширениях языка, конкурентном выполнении, pipes и линзах.
|
Если вы уже закончили курс Yorgey, особого внимания в этом курсе заслуживают разделы о фантомных типах, контроле потоков информации, расширениях языка, конкурентном выполнении, pipes и линзах.
|
||||||
@ -357,7 +357,7 @@ cs240h доступен [онлайн](http://www.scs.stanford.edu/14sp-cs240h/)
|
|||||||
|
|
||||||
- [Oh my laziness!](http://alpmestan.com/posts/2013-10-02-oh-my-laziness.html)
|
- [Oh my laziness!](http://alpmestan.com/posts/2013-10-02-oh-my-laziness.html)
|
||||||
|
|
||||||
- SO вопрос '[Does haskell have laziness?](http://stackoverflow.com/questions/13042353/does-haskell-have-tail-recursive-optimization)'
|
- Вопрос на Stack Overflow — [Does haskell have laziness?](http://stackoverflow.com/questions/13042353/does-haskell-have-tail-recursive-optimization)
|
||||||
|
|
||||||
- Слайды [Johan Tibell](https://github.com/tibbe) из доклада
|
- Слайды [Johan Tibell](https://github.com/tibbe) из доклада
|
||||||
[reasoning about laziness](http://www.slideshare.net/tibbe/reasoning-about-laziness).
|
[reasoning about laziness](http://www.slideshare.net/tibbe/reasoning-about-laziness).
|
||||||
@ -392,7 +392,7 @@ let a = 1 * a -- not guarded, (*) is strict
|
|||||||
|
|
||||||
Перевод:
|
Перевод:
|
||||||
|
|
||||||
<!-- TODO: I don't really understand this, so I can't translate properly -->
|
<!-- TODO: I don’t really understand this, so I can’t translate properly -->
|
||||||
> Интересное замечание: GHC должен скрывать отображение токена статуса поздаи
|
> Интересное замечание: GHC должен скрывать отображение токена статуса поздаи
|
||||||
> абстрактного типа IO, потому что токен статуса должен все время быть использован
|
> абстрактного типа IO, потому что токен статуса должен все время быть использован
|
||||||
> линейно (не быть дуплицирован или сброшен), но система типов не может принудительно
|
> линейно (не быть дуплицирован или сброшен), но система типов не может принудительно
|
||||||
@ -404,9 +404,9 @@ let a = 1 * a -- not guarded, (*) is strict
|
|||||||
|
|
||||||
> Interesting side note: GHC needs to hide the state token representation behind
|
> Interesting side note: GHC needs to hide the state token representation behind
|
||||||
> an abstract IO type because the state token must always be used linearly (not
|
> an abstract IO type because the state token must always be used linearly (not
|
||||||
> duplicated or dropped), but the type system can't enforce this. Clean, another
|
> duplicated or dropped), but the type system can’t enforce this. Clean, another
|
||||||
> lazy Haskell-like language, has uniqueness types (which are like linear types
|
> lazy Haskell-like language, has uniqueness types (which are like linear types
|
||||||
> and possibly different in ways I'm not aware of), and they expose the
|
> and possibly different in ways I’m not aware of), and they expose the
|
||||||
> World-passing directly and provide a (non-abstract) IO monad only for
|
> World-passing directly and provide a (non-abstract) IO monad only for
|
||||||
> convenience.
|
> convenience.
|
||||||
|
|
||||||
@ -418,13 +418,12 @@ let a = 1 * a -- not guarded, (*) is strict
|
|||||||
Writer, State) для себя, чтобы понять их лучше. Затем, может быть, напишите
|
Writer, State) для себя, чтобы понять их лучше. Затем, может быть, напишите
|
||||||
монадный интерпретатор для маленького языка выражений используя документ
|
монадный интерпретатор для маленького языка выражений используя документ
|
||||||
[Monad Transformers Step by Step](http://catamorph.de/documents/Transformers.pdf)
|
[Monad Transformers Step by Step](http://catamorph.de/documents/Transformers.pdf)
|
||||||
(упомянут в 'трансформеры монад' ниже).
|
(упомянут в «трансформеры монад» ниже).
|
||||||
|
|
||||||
Написание многих интерпретаторов просто изменяя монаду для изменения семантики
|
Написание многих интерпретаторов просто изменяя монаду для изменения семантики
|
||||||
может помочь лучше понять, что происходит.
|
может помочь лучше понять, что происходит.
|
||||||
|
|
||||||
- [Этот рассказ](https://vimeo.com/73648150) от Tony отлично мотивирует трансформеры монад
|
- [Этот рассказ](https://vimeo.com/73648150) от Tony отлично мотивирует трансформеры монад, [слайды](https://dl.dropboxusercontent.com/u/7810909/talks/monad-transformers/cbaa991e0eb49224eb286c1e418e2b9828e1fb21/monad-transformers.pdf).
|
||||||
, [слайды](https://dl.dropboxusercontent.com/u/7810909/talks/monad-transformers/cbaa991e0eb49224eb286c1e418e2b9828e1fb21/monad-transformers.pdf).
|
|
||||||
|
|
||||||
Также, реализуйте `Control.Monad`. Функции типа `mapM` или `sequence` — хорошая
|
Также, реализуйте `Control.Monad`. Функции типа `mapM` или `sequence` — хорошая
|
||||||
возможность попрактиковаться в написании общего кода монад.
|
возможность попрактиковаться в написании общего кода монад.
|
||||||
@ -446,7 +445,7 @@ Writer, State) для себя, чтобы понять их лучше. Зат
|
|||||||
|
|
||||||
# Тестирование, тесты, спеки, generative/property тестирование
|
# Тестирование, тесты, спеки, generative/property тестирование
|
||||||
|
|
||||||
- Это [руководство](https://github.com/kazu-yamamoto/unit-test-example/blob/master/markdown/en/tutorial.md) от Kazu Yamamoto – просто фантастичecкое.
|
- Это [руководство](https://github.com/kazu-yamamoto/unit-test-example/blob/master/markdown/en/tutorial.md) от Kazu Yamamoto — просто фантастичecкое.
|
||||||
|
|
||||||
- [Simple-Conduit](https://github.com/jwiegley/simple-conduit): Хорошая простая
|
- [Simple-Conduit](https://github.com/jwiegley/simple-conduit): Хорошая простая
|
||||||
библиотека для изучения, как работает стриминг IO в целом, знания, применимые также
|
библиотека для изучения, как работает стриминг IO в целом, знания, применимые также
|
||||||
@ -498,11 +497,11 @@ Aeson — это стандартное решение для парсинга
|
|||||||
|
|
||||||
## Emacs
|
## Emacs
|
||||||
|
|
||||||
- [Alejandro Serras's tutorial](https://github.com/serras/emacs-haskell-tutorial/blob/master/tutorial.md)
|
- [Alejandro Serras’s tutorial](https://github.com/serras/emacs-haskell-tutorial/blob/master/tutorial.md)
|
||||||
|
|
||||||
- [My dotfiles](https://github.com/bitemyapp/dotfiles/)
|
- [My dotfiles](https://github.com/bitemyapp/dotfiles/)
|
||||||
|
|
||||||
- [Chris Done's emacs config](https://github.com/chrisdone/chrisdone-emacs)
|
- [Chris Done’s emacs config](https://github.com/chrisdone/chrisdone-emacs)
|
||||||
|
|
||||||
## Vim
|
## Vim
|
||||||
|
|
||||||
@ -526,7 +525,7 @@ Aeson — это стандартное решение для парсинга
|
|||||||
|
|
||||||
Cabal Hell был проблемой для пользователей Haskell до появления песочниц (sandboxes).
|
Cabal Hell был проблемой для пользователей Haskell до появления песочниц (sandboxes).
|
||||||
Установка вне песочницы происходит в вашу пользовательскую базу данных пакетов.
|
Установка вне песочницы происходит в вашу пользовательскую базу данных пакетов.
|
||||||
Это *не очень* хорошая идея, за исключением основных пакетов, таких как Cabal. alex и happy.
|
Это *не очень* хорошая идея, за исключением основных пакетов, таких как Cabal, alex и happy.
|
||||||
Более ничто не должно быть установлено глобально или в пользовательскую базу данных пакетов,
|
Более ничто не должно быть установлено глобально или в пользовательскую базу данных пакетов,
|
||||||
если вы не уверены в том, что делаете.
|
если вы не уверены в том, что делаете.
|
||||||
|
|
||||||
@ -616,21 +615,21 @@ cabal haddock --hoogle --hyperlink-source \
|
|||||||
Мы обладаем огромными богатствами! Есть три основных вещи, которые я рекомендую:
|
Мы обладаем огромными богатствами! Есть три основных вещи, которые я рекомендую:
|
||||||
|
|
||||||
* [Haste](http://haste-lang.org/) компилятор Haskell в JavaScript
|
* [Haste](http://haste-lang.org/) компилятор Haskell в JavaScript
|
||||||
— [Компилятор](https://github.com/valderman/haste-compiler) на github.
|
- [Компилятор](https://github.com/valderman/haste-compiler) на github.
|
||||||
— Отличное
|
- Отличное
|
||||||
[демо](http://www.airpair.com/haskell/posts/haskell-tutorial-introduction-to-web-apps)
|
[демо](http://www.airpair.com/haskell/posts/haskell-tutorial-introduction-to-web-apps)
|
||||||
Haste с примером проекта.
|
Haste с примером проекта.
|
||||||
|
|
||||||
* [GHCJS](https://github.com/ghcjs/ghcjs)
|
* [GHCJS](https://github.com/ghcjs/ghcjs)
|
||||||
— [GHCJS Introduction](http://weblog.luite.com/wordpress/?p=14)
|
- [GHCJS Introduction](http://weblog.luite.com/wordpress/?p=14)
|
||||||
— [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/)
|
||||||
|
|
||||||
## Какой фронтенд язык мне использовать?
|
## Какой фронтенд язык мне использовать?
|
||||||
|
|
||||||
@ -648,15 +647,15 @@ GHCJS и Haste интегрируются лучше с инструментам
|
|||||||
|
|
||||||
# Для более глубокого понимания laziness, NF, WHNF
|
# Для более глубокого понимания laziness, NF, WHNF
|
||||||
|
|
||||||
- [Notes on lambda calculus](https://vec.io/posts/notes-on-lambda-calculus).
|
- [Notes on lambda calculus](https://vec.io/posts/notes-on-lambda-calculus)
|
||||||
|
|
||||||
## Исследовательские документы про lazy lambda calculi
|
## Исследовательские документы про lazy lambda calculi
|
||||||
|
|
||||||
- [A call by need lambda calculus](http://homepages.inf.ed.ac.uk/wadler/topics/call-by-need.html#need-journal).
|
- [A call by need lambda calculus](http://homepages.inf.ed.ac.uk/wadler/topics/call-by-need.html#need-journal)
|
||||||
|
|
||||||
- [Demonstrating Lambda Calculus Reduction](http://www.itu.dk/~sestoft/papers/sestoft-lamreduce.pdf)
|
- [Demonstrating Lambda Calculus Reduction](http://www.itu.dk/~sestoft/papers/sestoft-lamreduce.pdf)
|
||||||
|
|
||||||
- [The lazy lambda calculus](http://www.cs.ox.ac.uk/files/293/lazy.pdf).
|
- [The lazy lambda calculus](http://www.cs.ox.ac.uk/files/293/lazy.pdf)
|
||||||
|
|
||||||
- [Lazy evaluation of Haskell](http://www.vex.net/~trebla/haskell/lazy.xhtml)
|
- [Lazy evaluation of Haskell](http://www.vex.net/~trebla/haskell/lazy.xhtml)
|
||||||
|
|
||||||
@ -668,7 +667,7 @@ GHCJS и Haste интегрируются лучше с инструментам
|
|||||||
- Хорошее [руководство](http://kukuruku.co/hub/haskell/haskell-testing-a-multithread-application)
|
- Хорошее [руководство](http://kukuruku.co/hub/haskell/haskell-testing-a-multithread-application)
|
||||||
по тестированию и инкрементальной разработке многопоточного приложения в Haskell.
|
по тестированию и инкрементальной разработке многопоточного приложения в Haskell.
|
||||||
|
|
||||||
- [Functional Reactive Programming](http://www.haskell.org/haskellwiki/Functional_Reactive_Programming)
|
- [Functional Reactive Programming](http://www.haskell.org/haskellwiki/Functional_Reactive_Programming).
|
||||||
|
|
||||||
# Линзы и призмы
|
# Линзы и призмы
|
||||||
|
|
||||||
@ -702,7 +701,7 @@ 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) — хорошая демонстрация того, как hylomorphism, это композиция из cata и ana.
|
- [Don’t fear the cat](http://fho.f12n.de/posts/2014-05-07-dont-fear-the-cat.html) — хорошая демонстрация того, как hylomorphism, это композиция из cata и ana
|
||||||
|
|
||||||
- [Recursion Schemes](http://comonad.com/reader/2009/recursion-schemes/) — это
|
- [Recursion Schemes](http://comonad.com/reader/2009/recursion-schemes/) — это
|
||||||
руководство просто замечательно!
|
руководство просто замечательно!
|
||||||
@ -715,15 +714,15 @@ catamorphisms). Знание о том, как реализовать unfold (an
|
|||||||
|
|
||||||
- [Write Haskell as Fast as C](write_haskell_as_fast_as_c.md)
|
- [Write Haskell as Fast as C](write_haskell_as_fast_as_c.md)
|
||||||
|
|
||||||
- [GHC Wiki: CoreSyn Type](https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/CoreSynType).
|
- [GHC Wiki: CoreSyn Type](https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/CoreSynType)
|
||||||
|
|
||||||
- [Hackage: GHC Core](https://hackage.haskell.org/package/ghc-core).
|
- [Hackage: GHC Core](https://hackage.haskell.org/package/ghc-core)
|
||||||
|
|
||||||
- [SO Question: Reading GHC Core](http://stackoverflow.com/questions/6121146/reading-ghc-core).
|
- [SO Question: Reading GHC Core](http://stackoverflow.com/questions/6121146/reading-ghc-core)
|
||||||
|
|
||||||
- [Haskell as fast as C](http://donsbot.wordpress.com/2008/06/04/haskell-as-fast-as-c-working-at-a-high-altitude-for-low-level-performance/).
|
- [Haskell as fast as C](http://donsbot.wordpress.com/2008/06/04/haskell-as-fast-as-c-working-at-a-high-altitude-for-low-level-performance/)
|
||||||
|
|
||||||
- [Real World Haskell, Chapter 25: Profiling and Optimizations](http://book.realworldhaskell.org/read/profiling-and-optimization.html).
|
- [Real World Haskell, Chapter 25: Profiling and Optimizations](http://book.realworldhaskell.org/read/profiling-and-optimization.html)
|
||||||
|
|
||||||
# Тип и теория категорий
|
# Тип и теория категорий
|
||||||
|
|
||||||
@ -731,14 +730,14 @@ catamorphisms). Знание о том, как реализовать unfold (an
|
|||||||
|
|
||||||
Если вы хотите вникнуть в типы и теорию категорий:
|
Если вы хотите вникнуть в типы и теорию категорий:
|
||||||
|
|
||||||
- [Catster's Guide](http://byorgey.wordpress.com/2014/01/14/catsters-guide/) и
|
- [Catster’s Guide](http://byorgey.wordpress.com/2014/01/14/catsters-guide/) и
|
||||||
[Catster's Guide 2](http://byorgey.wordpress.com/catsters-guide-2/)
|
[Catster’s Guide 2](http://byorgey.wordpress.com/catsters-guide-2/).
|
||||||
|
|
||||||
- [Вики-книга haskell](http://en.wikibooks.org/wiki/Haskell/Category_theory)
|
- [Вики-книга haskell](http://en.wikibooks.org/wiki/Haskell/Category_theory)
|
||||||
содержит неплохие диаграмы
|
содержит неплохие диаграмы.
|
||||||
|
|
||||||
- [Category Theory](http://www.haskell.org/haskellwiki/Category_theory)
|
- [Category Theory](http://www.haskell.org/haskellwiki/Category_theory)
|
||||||
на haskellwiki, также содержит хорошие ссылки
|
на haskellwiki, также содержит хорошие ссылки.
|
||||||
|
|
||||||
- [Categories from scratch](http://science.raphael.poss.name/categories-from-scratch.html), содержит несколько практических примеров.
|
- [Categories from scratch](http://science.raphael.poss.name/categories-from-scratch.html), содержит несколько практических примеров.
|
||||||
|
|
||||||
@ -751,7 +750,7 @@ catamorphisms). Знание о том, как реализовать unfold (an
|
|||||||
- [Awodey](http://ukcatalogue.oup.com/product/9780199237180.do) и
|
- [Awodey](http://ukcatalogue.oup.com/product/9780199237180.do) и
|
||||||
[MacLane](http://www.amazon.com/Categories-Working-Mathematician-Graduate-Mathematics/dp/0387984038). Стандартные книги про теорию категорий.
|
[MacLane](http://www.amazon.com/Categories-Working-Mathematician-Graduate-Mathematics/dp/0387984038). Стандартные книги про теорию категорий.
|
||||||
|
|
||||||
- [Harper's Practical Foundations for Programming Languages](http://www.cs.cmu.edu/~rwh/plbook/book.pdf)
|
- [Harper’s Practical Foundations for Programming Languages](http://www.cs.cmu.edu/~rwh/plbook/book.pdf)
|
||||||
лучшее PL интро к теории типов, которое я читал.
|
лучшее PL интро к теории типов, которое я читал.
|
||||||
|
|
||||||
- [Type theory and Functional Programming](http://www.cs.kent.ac.uk/people/staff/sjt/TTFP/).
|
- [Type theory and Functional Programming](http://www.cs.kent.ac.uk/people/staff/sjt/TTFP/).
|
||||||
@ -766,7 +765,7 @@ catamorphisms). Знание о том, как реализовать unfold (an
|
|||||||
|
|
||||||
- [Making ad-hoc polymorphism less ad-hoc](http://swizec.com/blog/week-20-making-ad-hoc-polymorphism-less-ad-hoc/swizec/6564).
|
- [Making ad-hoc polymorphism less ad-hoc](http://swizec.com/blog/week-20-making-ad-hoc-polymorphism-less-ad-hoc/swizec/6564).
|
||||||
|
|
||||||
- [Theorems for Free!](http://ttic.uchicago.edu/~dreyer/course/papers/wadler.pdf).
|
- [Theorems for Free!](http://ttic.uchicago.edu/~dreyer/course/papers/wadler.pdf)
|
||||||
|
|
||||||
## Initial and Final, DSLs, Finally Tagless
|
## Initial and Final, DSLs, Finally Tagless
|
||||||
|
|
||||||
@ -782,36 +781,36 @@ catamorphisms). Знание о том, как реализовать unfold (an
|
|||||||
|
|
||||||
- [Typed Tagless Final Interpreters](http://okmij.org/ftp/tagless-final/course/lecture.pdf).
|
- [Typed Tagless Final Interpreters](http://okmij.org/ftp/tagless-final/course/lecture.pdf).
|
||||||
|
|
||||||
- [The dog that didn't bark](http://existentialtype.wordpress.com/2011/03/21/the-dog-that-didnt-bark/) less specifically relevant but interesting.
|
- [The dog that didn’t bark](http://existentialtype.wordpress.com/2011/03/21/the-dog-that-didnt-bark/) less specifically relevant but interesting.
|
||||||
|
|
||||||
## Comonads
|
## Comonads
|
||||||
|
|
||||||
- [Comonads in Haskell](https://speakerdeck.com/dmoverton/comonads-in-haskell).
|
- [Comonads in Haskell](https://speakerdeck.com/dmoverton/comonads-in-haskell)
|
||||||
|
|
||||||
- [SO question: Can a Monad be a Comonad](http://stackoverflow.com/questions/16551734/can-a-monad-be-a-comonad).
|
- [SO question: Can a Monad be a Comonad](http://stackoverflow.com/questions/16551734/can-a-monad-be-a-comonad)
|
||||||
|
|
||||||
## Yoneda / CoYoneda
|
## Yoneda / CoYoneda
|
||||||
|
|
||||||
- [SO question: Step-by-step explanation of coyoneda](http://stackoverflow.com/questions/24000465/step-by-step-deep-explain-the-power-of-coyoneda-preferably-in-scala-throu).
|
- [SO question: Step-by-step explanation of coyoneda](http://stackoverflow.com/questions/24000465/step-by-step-deep-explain-the-power-of-coyoneda-preferably-in-scala-throu).
|
||||||
|
|
||||||
- Свободные монады для Less, серия из трех публикаций от Edward Kmett
|
- Свободные монады для Less, серия из трех публикаций от Edward Kmett
|
||||||
* [Part 1: Codensity](http://comonad.com/reader/2011/free-monads-for-less/).
|
* [Part 1: Codensity](http://comonad.com/reader/2011/free-monads-for-less/)
|
||||||
* [Part 2: Yoneda](http://comonad.com/reader/2011/free-monads-for-less-2/).
|
* [Part 2: Yoneda](http://comonad.com/reader/2011/free-monads-for-less-2/)
|
||||||
* [Part 3: Yielding IO](http://comonad.com/reader/2011/free-monads-for-less-3/).
|
* [Part 3: Yielding IO](http://comonad.com/reader/2011/free-monads-for-less-3/)
|
||||||
|
|
||||||
## Propositions vs. Judgments (computation)
|
## Propositions vs. Judgments (computation)
|
||||||
|
|
||||||
- [StackExchange question: What is the difference between propositions and judgements](http://cstheory.stackexchange.com/questions/9826/what-is-the-difference-between-propositions-and-judgments).
|
- [StackExchange question: What is the difference between propositions and judgements](http://cstheory.stackexchange.com/questions/9826/what-is-the-difference-between-propositions-and-judgments)
|
||||||
|
|
||||||
- [Lecture notes from a short, three lecture course](http://www.ae-info.org/attach/User/Martin-L%C3%B6f_Per/OtherInformation/article.pdf)
|
- [Lecture notes from a short, three lecture course](http://www.ae-info.org/attach/User/Martin-L%C3%B6f_Per/OtherInformation/article.pdf)
|
||||||
|
|
||||||
# Зависимая типизация
|
# Зависимая типизация
|
||||||
|
|
||||||
- [Grokking sum types, value constructors, and type constructors](http://bitemyapp.com/posts/2014-04-05-grokking-sums-and-constructors.html) squint hard.
|
- [Grokking sum types, value constructors, and type constructors](http://bitemyapp.com/posts/2014-04-05-grokking-sums-and-constructors.html) squint hard
|
||||||
|
|
||||||
- [Lightweight Dependent-type Programming](http://okmij.org/ftp/Computation/lightweight-dependent-typing.html).
|
- [Lightweight Dependent-type Programming](http://okmij.org/ftp/Computation/lightweight-dependent-typing.html)
|
||||||
|
|
||||||
- [Idris programming language](http://www.idris-lang.org/).
|
- [Idris programming language](http://www.idris-lang.org/)
|
||||||
|
|
||||||
# Statically linking binaries
|
# Statically linking binaries
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user