milewski-ctfp-pdf Documentation

Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX source

RAW Doc

Technical Documentation: hmemcpy/milewski-ctfp-pdf

โ„น๏ธ Provenance: Multi-Tier Ingestion ยท CodeWiki Reference

Overview (`README.md`)

GitHub stars
GitHub Workflow Status
Download
License

Category Theory For Programmers

An unofficial PDF version of "Category Theory For Programmers"
by Bartosz Milewski, converted from his blogpost
series
(with permission!).

Category Theory for Programmers

Buy the book

Build the book

The building workflow requires Nix. After installing
Nix
, you need to enable the upcoming "flake" feature
which must be enabled manually the time being. This is
needed to expose the new Nix commands and flakes support that are hidden behind
feature-flags.

Afterwards, type nix flake show in the root directory of the project to see
all the available versions of this book. Then type nix build .#<edition> to
build the edition you want (Scala, OCaml, Reason and their printed versions).
For example, to build the Scala edition you'll have to type
nix build .#ctfp-scala. For Haskell (the original version) that is just
nix build .#ctfp.

Upon successful compilation, the PDF file will be placed in the result
directory.

The command nix develop will provide a shell containing all the required
dependencies to build the book manually using the provided Makefile. To build
the ctfp-scala edition, just run make ctfp-scala.

Contribute

Contributors are welcome to contribute to this book by sending pull-requests.
Once reviewed, the changes are merged in the main branch and will be
incorporated in the next release.

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

Find the list of contributors on Github.

Acknowledgements

PDF LaTeX source and the tools to create it are based on the work by Andres
Raba
. The book content is taken, with permission, from
Bartosz Milewski's blogpost series, and adapted to the LaTeX
format.

The original blog post acknowledgments by Bartosz are consolidated in the
Acknowledgments page at the end of the book.

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
.

The script files scraper.py and others are licensed under GNU General Public
License version 3
.


--- METRICS ---