Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX source
Go to file
2019-06-11 12:58:26 -07:00
src Merge branch 'master' of https://github.com/hmemcpy/milewski-ctfp-pdf 2019-06-11 12:58:26 -07:00
.gitignore Scala edition (#161) 2019-01-03 14:30:41 +02:00
.travis.yml fixed nix build (#181) 2019-02-19 13:51:17 +02:00
default.nix fixed nix build (#181) 2019-02-19 13:51:17 +02:00
errata.md Fix typo. (#182) 2019-02-19 13:50:26 +02:00
LICENSE Updating readme 2017-10-16 21:36:25 +03:00
README.md Bumping version 2019-03-13 09:02:20 +02:00
shell.nix A whole lotta tweaks! (#184) 2019-03-02 23:52:22 +02:00

Category Theory for Programmers

image Direct link: category-theory-for-programmers.pdf
(Latest release: v1.2.1, March 2019. See releases for additional formats and languages.)

Build Status
(latest CI build)

Buy Category Theory for Programmers
Purchase now in full-color hardcover print on blurb.com
Publish date: 21 October, 2018. Based off release tag v1.0.0. See errata for changes and fixes since print.

This is an unofficial PDF version of "Category Theory for Programmers" by Bartosz Milewski, converted from his blogpost series (with permission!)


Conversion is done by scraping the blog with Mercury Web Parser to get a clean HTML content, modifying and tweaking with Beautiful Soup, finally, converting to LaTeX with Pandoc. See scraper.py for additional information.

Please report any formatting/content issues, or better yet, send a PR!

Building

Chances for successful compilation are increased if you have almost complete installation of recent TeX Live 2017 distribution (the PDF here is compiled with 2017 release). The needed OpenType fonts must be installed in the operating system. In addition, pygments for Python must be installed as well.

The src directory contains the LaTeX sources. To recompile the book, go there and enter:

$ make

Upon successful compilation, the files will be placed in the out directory next to src.

The file preamble.tex contains all the configuration and style declarations.

Acknowledgements

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.

Thanks to the following people for contributing corrections/conversions and misc:

  • Oleg Rakitskiy
  • Jared Weakly
  • Paolo G. Giarrusso
  • Adi Shavit
  • Mico Loretan
  • Marcello Seri
  • Erwin Maruli Tua Pakpahan
  • Markus Hauck
  • Yevheniy Zelenskyy
  • Ross Kirsling
  • ...and many others!

Note from Bartosz: I really appreciate all your contributions. You made this book much better than I could have imagined. Thank you!

License

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).

The script files scraper.py and others are licensed under GNU General Public License version 3 (for details, see LICENSE).