Code Monkey home page Code Monkey logo

milewski-ctfp-pdf's Introduction

Category Theory for Programmers Build Status

Category Theory for Programmers

Direct link: category-theory-for-programmers.pdf
(Latest release: v0.7.0, April 2018)

This is an unofficial PDF version of "Category Theory for Programmers" by Bartosz Milewski, converted from his blogpost series.


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

For macOS Users: The Inconsolata LGC, Linux Libertine, and Libertinus Math fonts are not included in MacTex. You need to install them separately. Download the Inconsolata LGC fonts here, the Linux Libertine fonts here, and the Libertinus Math font here. To install the fonts system-wide, move all the downloaded .otf files into the /Library/Fonts folder. After completing these tasks, continue with the instructions below.

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

$ make

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

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

To remove all the generated PDFs and auxiliary files in the whole src tree:

$ make clean-all

Tip: you can use a utility like entr to run a command after any *.tex file changes, e.g.:

$ ls **/*.tex | entr make

This will monitor all the *.tex files for changes, and will execute the make command if any of them changes. This speeds up development significantly, as you can freely modify any of the files, and get almost instant feedback!

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 from the TeX.StackExchange community
  • Marcello Seri
  • Erwin Maruli Tua Pakpahan
  • ...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).

milewski-ctfp-pdf's People

Contributors

adishavit avatar bartoszmilewski avatar blaisorblade avatar dalzhim avatar dkim avatar fosskers avatar gbabin avatar george-hawkins avatar gvol avatar hmemcpy avatar hololeap avatar joebowbeer avatar llbit avatar marulitua avatar mseri avatar phlosioneer avatar raol avatar stillerharpo avatar timmyjose avatar vshenoy avatar zegeri avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.