This repository contains the LaTeX source for a pretentiously-named, but hopefully concise, introduction to low-level concurrency.
If you just want to read the primer, grab the latest typeset PDF from the Releases page. Building from source (below) is only necessary if you intend to modify the text.
Install a modern, Unicode-aware LaTeX, such as LuaLaTeX.
On Linux, this is usually as simple as installing the system TeX Live package, e.g., texlive-base or texlive-core.
The same package should also provide the latexmk script. (See below)
Install pygments, a Python syntax highlighter. This is used by the LaTeX package minted to handle our syntax highlighting.
Build the document using
$ makeNote that latexmk will run LuaLaTeX multiple times, since TeX generates cross references in one pass, then links them in a second.
If you can't use latexmk for some reason, you can manually invoke
$ lualatex -halt-on-error -shell-escape concurrency-primer.texuntil it no longer warns, "Label(s) may have changed. Rerun to get cross-references right."
Enjoy a typeset concurrency-primer.pdf.