Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hmemcpy/milewski-ctfp-pdf
Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX source
https://github.com/hmemcpy/milewski-ctfp-pdf
category-theory cpp functional-programming haskell latex ocaml pdf scala
Last synced: 7 days ago
JSON representation
Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX source
- Host: GitHub
- URL: https://github.com/hmemcpy/milewski-ctfp-pdf
- Owner: hmemcpy
- License: other
- Created: 2017-09-02T20:53:28.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-10-20T14:27:37.000Z (3 months ago)
- Last Synced: 2024-10-29T10:11:50.628Z (3 months ago)
- Topics: category-theory, cpp, functional-programming, haskell, latex, ocaml, pdf, scala
- Language: TeX
- Homepage: https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/
- Size: 69.2 MB
- Stars: 10,993
- Watchers: 244
- Forks: 592
- Open Issues: 54
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - hmemcpy/milewski-ctfp-pdf - Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX source (scala)
- awesome-list - milewski-ctfp-pdf
- awesome-applied-ct - Category Theory for Programmers - by [Bartosz Milewski][milewski] (Table of contents / Books)
- books - 📖 Category Theory for Programmers (2018)
- awesome-references - Category Theory for Programmers by Bartosz Milewski
- StarryDivineSky - hmemcpy/milewski-ctfp-pdf
- my-awesome - hmemcpy/milewski-ctfp-pdf - theory,cpp,functional-programming,haskell,latex,ocaml,pdf,scala pushed_at:2025-01 star:11.1k fork:0.6k Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX source (TeX)
README
![GitHub stars][github stars]
[![GitHub Workflow Status][github workflow status]][github actions link]
[![Download][download badge]][github latest release]
[![License][license badge]][github latest release]# Category Theory For Programmers
An _unofficial_ PDF version of "**C**ategory **T**heory **F**or **P**rogrammers"
by [Bartosz Milewski][bartosz github], converted from his [blogpost
series][blogpost series] (_with permission!_).![Category Theory for Programmers][ctfp image]
## Buy the book
- **[Standard edition in full-color hardcover
print][buy regular edition on blurb]**
- Publish date: 12 August, 2019.
- Based off release tag [v1.3.0][v1.3.0 github release link]. See
[errata-1.3.0](errata-1.3.0.md) for changes and fixes since print.
- **[Scala Edition in paperback][buy scala edition on blurb]**
- Publish date: 12 August, 2019.
- Based off release tag [v1.3.0][v1.3.0 github release link]. See
[errata-scala](errata-scala.md) for changes and fixes since print.## Build the book
The building workflow requires [Nix][nix website]. After [installing
Nix][nix download website], you need to enable the upcoming "flake" feature
which must be [enabled manually][nixos wiki flake] 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 .#` 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][bartosz github]**: 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][contributors].
## Acknowledgements
PDF LaTeX source and the tools to create it are based on the work by [Andres
Raba][andres raba github]. The book content is taken, with permission, from
[Bartosz Milewski][bartosz github]'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][license cc by sa].The script files `scraper.py` and others are licensed under [GNU General Public
License version 3][license gnu gpl].[download badge]:
https://img.shields.io/badge/Download-latest-green.svg?style=flat-square
[github actions link]: https://github.com/hmemcpy/milewski-ctfp-pdf/actions
[github stars]:
https://img.shields.io/github/stars/hmemcpy/milewski-ctfp-pdf.svg?style=flat-square
[github workflow status]:
https://img.shields.io/github/actions/workflow/status/hmemcpy/milewski-ctfp-pdf/nix-flake-check.yaml?branch=master&style=flat-square
[github latest release]:
https://github.com/hmemcpy/milewski-ctfp-pdf/releases/latest
[license badge]:
https://img.shields.io/badge/License-CC_By_SA-green.svg?style=flat-square
[ctfp image]:
https://user-images.githubusercontent.com/601206/47271389-8eea0900-d581-11e8-8e81-5b932e336336.png
[bartosz github]: https://github.com/BartoszMilewski
[nixos wiki flake]: https://wiki.nixos.org/wiki/Flakes
[andres raba github]: https://github.com/sarabander
[contributors]: https://github.com/hmemcpy/milewski-ctfp-pdf/graphs/contributors
[license cc by sa]: https://spdx.org/licenses/CC-BY-SA-4.0.html
[license gnu gpl]: https://spdx.org/licenses/GPL-3.0.html
[blogpost series]:
https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/
[buy regular edition on blurb]:
https://www.blurb.com/b/9621951-category-theory-for-programmers-new-edition-hardco
[buy scala edition on blurb]:
https://www.blurb.com/b/9603882-category-theory-for-programmers-scala-edition-pape
[v1.3.0 github release link]:
https://github.com/hmemcpy/milewski-ctfp-pdf/releases/tag/v1.3.0
[nix website]: https://nixos.org/nix/
[nix download website]: https://nixos.org/download.html