Isomorphism -- Mathematics of Programming
2023/06
This book introduces the mathematics behind computer programming.
Contents
The book can be downloaded in English (EN). The 1st edition in Chinese (ä¸æ–‡) was published in 2023 (ä¸æ–‡æ ·ç« ).
- Preface
- Chapter 1, Natural numbers. Peano Axiom, list and folding;
- Chapter 2, Recursion. Euclidean algorithm, Lambda calculus, and Y-combinator;
- Chapter 3, Symmetry. Group, Ring, and Field. Galois Theory;
- Chapter 4, Category theory and type system;
- Chapter 5, Deforest. Build-fold fusion law, optimization, and algorithm deduction;
- Chapter 6, Infinity. Set theory, Infinity and stream;
- Chapter 7, Logic paradox, Gödel's incompleteness theorems, and Turing halting problem.
- Answers to the exercise.
Install
To build the book in PDF format from the sources, you need the following software pre-installed.
- TeXLive, The book is built with LuaLaTeX, an extended version of TeX.
Install TeXLive
In Debian/Ubuntu like Linux environment, do NOT install the TeXLive through apt-get. Go to TeXLive official site to download the setup script.
$ wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl.zip
$ unzip install-tl.zip
$ cd install-tl
$ sudo ./install-tl -gui text -repository http://mirror.ctan.org/systems/texlive/tlnet
In Windows, TeXLive provide a gui based installer, in Mac OS X, there's a MacTeX.
Customize font
The default build supports Linux, Mac OS X, and Windows. You can install additional font (like Noto CJK) typesetting (see prelude.sty
). Some system fonts, e.g. STKaiti, were moved to /System/Library/AssetsV2/com_apple_MobileAsset_Font7
in Mac OS X, you need add the path to the local TeXLive configuration:
sudo tlmgr conf texmf OSFONTDIR /System/Library/AssetsV2/com_apple_MobileAsset_Font7
Others
You need the GNU make tool, in Debian/Ubuntu like Linux, it can be installed through the apt-get command:
$ sudo apt-get install build-essential
In Windows, you can install the MSYS for it. In Mac OS X, please install the developer tool from this command line:
$ xcode-select --install
Build the PDF book
enter the folder contains the book TeX manuscript, run
$ make
This will generate unplugged-en.pdf and unplugged-zh-cn.pdf. If you only need the English version for example, you can run make en
instead. Run make force-en
to force build the book.
--
LIU Xinyu