Why Seven Sketches in Compositionality for category theory?#

Alternative pedagogical resources:

Category theory is an old topic and shouldn’t include much original research. You’ll find most of this book’s instructions have directly applicable or equivalent articles on Wikipedia (which is good).

Open source PDF#

The PDF is open source; see Format selector for 1803.05316v3. At the least, this makes it easy to search for content (e.g. latex macros). It allows for many other workflows as well; you could copy and paste the question out of the source to avoid the split attention effect, or fix minor errors in your own fork of the pdf.

To build on Ubuntu 20.04 install the texlive-full package; see LaTeX/Installing Extra Packages - Wikibooks for suggestions on your own system. Then in a directory with the source:

rm 7Sketches.bbl
pdflatex -interaction nonstopmode 7Sketches.tex
pdflatex -interaction nonstopmode 7Sketches.tex

You do need to build twice or cleverref references will be broken. The resulting pdf will be missing a bibliography because the authors seem to have failed to include the original .bib file in the source, hence the extra rm command. If you don’t remove it the build will fail and you’ll either find or review this documentation:

More specifically the .bib file (the following is line 53 of 7Sketches.tex) is missing:


It’s not trivial to build this file from the .bbl file they do include; see bibtex - Convert .bbl file to .bib file - TeX - LaTeX Stack Exchange.

Reference materials#

See Category theory. Examples of categories:

See Category:Categories in category theory for a more complete list of example categories, or Category (mathematics) - Examples.

See also:

Personal workflow#

Don’t run into the same issue someone else already struggled with; see the errata in Seven-Sketches suggestions - Google Docs. When you start a chapter, copy the comments in this errata to a new Google Doc and delete them as you process them. For simple issues (typos) fix the problem in the tex file so you don’t have to read it over and over. For more complicated issues, add a +1 with your name in the author’s Google Doc (if it bothered you).

If you’re not at your Linux desktop, read 1803.05316.pdf in your browser with two columns up (select “Even Spreads” in Firefox to match zathura), and close the sidebar. Open a second tab scrolled to the solutions. If you are at it, use zathura to open the fixed pdf (and for all the advantages of zathura).

Don’t wait for a full build of your JB notes; open an article in Jupyter to check that e.g. the math renders as expected. Keep a marker in your notes showing up to which question you’ve answered, and up to which you’ve checked (your rendered version, not .md file) against the appendix. To mark where you’ve read, simply add headings and comments on the material.

When you’re writing detailed answers, use your 1st monitor for Firefox, 2nd for zathura, and 3rd/4th for either plain text notes or Inkscape. When you’re producing general answers, put a different zathura instance on all three screens. See also Google Doc “Organized seven sketches errata” with miscellaneous comments.

Personal interest in category theory#

Category theory is ubiquitous in mathematics; it’s difficult to read mathematical articles on Wikipedia without an understanding of the topic.

Category theory is also fundamental to programming, and in particular to functional programming. See Is Category Theory useful for learning functional programming? - CS SE and Cats | Semigroup.

For the formal relationship between category theory and programming, see Curry–Howard correspondence and Cartesian closed category.