Skip to content

bamcop/unplugged

 
 

Repository files navigation

Isomorphism -- Mathematics of Programming

2023/04

This book introduces the mathematics behind computer programming.

Contents

The book can be downloaded in English (EN). The Chinese edition will be published soon (中文样章).

  • 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 XeLaTeX, a Unicode friendly 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 Chinese version for example, you can run make cn instead. Run make force-cn or make force-en to force build the book.

--

LIU Xinyu

[email protected]

About

Open book about math and programming.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TeX 96.9%
  • Haskell 0.9%
  • Python 0.6%
  • Emacs Lisp 0.5%
  • Makefile 0.5%
  • Java 0.3%
  • Other 0.3%