milewski-ctfp-pdf/README.md

75 lines
3.8 KiB
Markdown
Raw Normal View History

2018-07-30 13:26:01 +03:00
Category Theory for Programmers
2017-09-22 21:31:49 +03:00
====
2018-07-30 13:26:01 +03:00
![image](https://user-images.githubusercontent.com/601206/43392303-f770d7be-93fb-11e8-8db8-b7e915b435ba.png)
2019-08-13 00:27:24 +03:00
<b>Direct link: [category-theory-for-programmers.pdf](https://github.com/hmemcpy/milewski-ctfp-pdf/releases/download/v1.3.0/category-theory-for-programmers.pdf)</b>
(Latest release: v1.3.0, August 2019. See [releases](https://github.com/hmemcpy/milewski-ctfp-pdf/releases) for additional formats and languages.)
2017-09-22 21:31:49 +03:00
2018-07-30 13:26:01 +03:00
[![Build Status](https://travis-ci.org/hmemcpy/milewski-ctfp-pdf.svg?branch=master)](https://travis-ci.org/hmemcpy/milewski-ctfp-pdf)
[(latest CI build)](https://s3.amazonaws.com/milewski-ctfp-pdf/category-theory-for-programmers.pdf)
2018-10-21 22:39:22 +03:00
<img src="https://user-images.githubusercontent.com/601206/47271389-8eea0900-d581-11e8-8e81-5b932e336336.png"
alt="Buy Category Theory for Programmers" width=410 />
2019-08-29 22:49:13 +03:00
**[Available in full-color hardcover print](https://www.blurb.com/b/9621951-category-theory-for-programmers-new-edition-hardco)**
Publish date: 12 August, 2019. Based off release tag [v1.3.0](https://github.com/hmemcpy/milewski-ctfp-pdf/releases/tag/v1.3.0). See [errata-1.3.0](errata-1.3.0.md) for changes and fixes since print.
2018-10-21 22:39:22 +03:00
2019-08-13 00:27:24 +03:00
**[Scala Edition is now available in paperback](https://www.blurb.com/b/9603882-category-theory-for-programmers-scala-edition-pape)**
Publish date: 12 August, 2019. Based off release tag [v1.3.0](https://github.com/hmemcpy/milewski-ctfp-pdf/releases/tag/v1.3.0). See [errata-scala](errata-scala.md) for changes and fixes since print.
2018-10-27 22:54:42 +03:00
This is an *unofficial* PDF version of "Category Theory for Programmers" by Bartosz Milewski, converted from his [blogpost series](https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/) (with permission!)
2017-09-22 22:30:47 +03:00
2017-10-01 09:22:44 +03:00
---
Building
--------
2019-08-29 22:59:36 +03:00
The best way to build the book is using the [Nix](https://nixos.org/nix/) package manager. After installing Nix, type `nix-shell` in the root directory of the project. This will download all the needed dependencies and tools to build the book (TeXLive, required fonts and packages, Pygments theme for syntax highligting, etc.)
When the download is complete, and you're prompted with a shell, use the instructions below to build the book.
2017-10-01 09:22:44 +03:00
The `src` directory contains the LaTeX sources. To recompile the book, go there and enter:
```bash
$ make
```
2019-08-29 22:59:36 +03:00
To build the Scala edition, type:
```bash
$ make scala
```
2018-09-20 11:06:25 +03:00
Upon successful compilation, the files will be placed in the `out` directory next to `src`.
2017-10-01 09:22:44 +03:00
2018-09-20 11:06:25 +03:00
The file `preamble.tex` contains all the configuration and style declarations.
2017-09-30 13:21:24 +03:00
2017-09-22 21:31:49 +03:00
Acknowledgements
----------------
2017-10-01 09:22:44 +03:00
PDF LaTeX source and the tools to create it are based on the work by Andres Raba et al., available here: https://github.com/sarabander/sicp-pdf.
The book content is taken, with permission, from Bartosz Milewski's blogpost series, and adapted to the LaTeX format.
2017-09-20 23:07:58 +03:00
2018-03-31 13:48:55 +03:00
Thanks to the following people for contributing corrections/conversions and misc:
2017-09-20 23:07:58 +03:00
* Oleg Rakitskiy
2017-10-18 11:00:38 +03:00
* Jared Weakly
* Paolo G. Giarrusso
* Adi Shavit
2018-09-14 00:14:40 +03:00
* Mico Loretan
* Marcello Seri
2018-03-31 13:48:55 +03:00
* Erwin Maruli Tua Pakpahan
* Markus Hauck
2018-09-14 00:14:40 +03:00
* Yevheniy Zelenskyy
2018-11-07 09:55:00 +03:00
* Ross Kirsling
2017-10-18 11:00:38 +03:00
* ...and many others!
2017-09-22 21:31:49 +03:00
2020-09-04 20:30:10 +03:00
The original blog post acknowledgments by Bartosz are consolidated in the *Acknowledgments* page at the end of the book.
**Note from Bartosz**: I really appreciate all your contributions. You made this book much better than I could have imagined. Thank you!
2018-01-04 00:17:32 +03:00
2017-09-22 21:31:49 +03:00
License
-------
2017-09-30 13:21:24 +03:00
The PDF book, `.tex` files, and associated images and figures in directories `src/fig` and `src/content` are licensed under Creative Commons Attribution-ShareAlike 4.0 International License ([cc by-sa](http://creativecommons.org/licenses/by-sa/4.0/)).
2017-09-22 22:30:47 +03:00
2017-10-16 21:36:25 +03:00
The script files `scraper.py` and others are licensed under GNU General Public License version 3 (for details, see [LICENSE](https://github.com/hmemcpy/milewski-ctfp-pdf/blob/master/LICENSE)).