<p>There's no agreed upon "bible" for CT for computer science in the same way as for mathematicians (<a href="http://rads.stackoverflow.com/amzn/click/0387984038" rel="nofollow">Mac Lane</a>), probably because the field is younger and a bit broader. It really depends on whether you want to understand . Here are a few computer science concepts with category theory counterparts:</p>

<ul>
<li><p>Simple types (which correspond to <a href="http://en.wikipedia.org/wiki/Cartesian_closed_category" rel="nofollow">Cartesian Closed Categories</a>)</p></li>
<li><p>dependent types (<a href="http://ncatlab.org/nlab/show/locally+cartesian+closed+category" rel="nofollow">Locally Cartesian Closed Categories</a>)</p></li>
<li><p>Abstract data types (categorical algebras, coalgebras, as described in e.g. <a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.174.8390&amp;rep=rep1&amp;type=pdf" rel="nofollow">Uustalu &amp; Vene</a>)</p></li>
<li><p>Programing with effects (Monads, monoidal categories, building on the foundational observations of <a href="http://www.cs.cmu.edu/~crary/819-f09/Moggi91.pdf" rel="nofollow">Moggi</a>)</p></li>
<li><p>Ressource aware programing (Closed Monoidal Categories (?))</p></li>
<li><p>CPS translations can be interpreted through the lens of the <a href="http://en.wikipedia.org/wiki/Yoneda_lemma" rel="nofollow">Yoneda lemma</a> (see <a href="http://golem.ph.utexas.edu/category/2008/01/the_continuation_passing_trans.html" rel="nofollow">here</a> for a brief explanation)</p></li>
</ul>

<p>I'm missing a few, there are applications of category theory from everything to domain theory to database management.</p>

CC BY-SA 3.0
2013-11-19T17:34:02.843Z
2013-11-19T17:47:44.110Z
2013-11-19T17:47:44.110Z
cody
<p>I am now considering about studying functional programming from the viewpoint of category theory. There are a lot of books about functional programming and category theory, I want some suggestions regarding some comprehensive books and reference materials (like online notes, courses etc)that would contain category theory viewpoint rather than plain functional programming. I have a solid background in Abstract Algebra,commutative algebra, functional programming and bit of category theory too.</p>

<reference-request><functional-programming><advice-request><ct.category-theory>
Learning road map for functional programming from the viewpoint of category theory
spaceman_spiff
# Learning road map for functional programming from the viewpoint of category theory

(Asked by: username_0 on 2013-11-19)

I am now considering about studying functional programming from the viewpoint of category theory. There are a lot of books about functional programming and category theory, I want some suggestions regarding some comprehensive books and reference materials (like online notes, courses etc)that would contain category theory viewpoint rather than plain functional programming. I have a solid background in Abstract Algebra,commutative algebra, functional programming and bit of category theory too.

**Tags:** reference-request, functional-programming, advice-request, ct.category-theory

---

## 1 answers

### Answer by username_1 on 2013-11-19. Score: 2 | Accepted answer

There's no agreed upon "bible" for CT for computer science in the same way as for mathematicians ([Mac Lane](http://rads.stackoverflow.com/amzn/click/0387984038)), probably because the field is younger and a bit broader. It really depends on whether you want to understand . Here are a few computer science concepts with category theory counterparts:

* Simple types (which correspond to [Cartesian Closed Categories](http://en.wikipedia.org/wiki/Cartesian_closed_category))
* dependent types ([Locally Cartesian Closed Categories](http://ncatlab.org/nlab/show/locally+cartesian+closed+category))
* Abstract data types (categorical algebras, coalgebras, as described in e.g. [Uustalu & Vene](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.174.8390&rep=rep1&type=pdf))
* Programing with effects (Monads, monoidal categories, building on the foundational observations of [Moggi](http://www.cs.cmu.edu/~crary/819-f09/Moggi91.pdf))
* Ressource aware programing (Closed Monoidal Categories (?))
* CPS translations can be interpreted through the lens of the [Yoneda lemma](http://en.wikipedia.org/wiki/Yoneda_lemma) (see [here](http://golem.ph.utexas.edu/category/2008/01/the_continuation_passing_trans.html) for a brief explanation)

I'm missing a few, there are applications of category theory from everything to domain theory to database management.


---

