Category Theory is called “*The Mathematics of Mathematics*“, also the “*Abstract Nonsense*“.

Key Motivations for **Category Theory 范畴 **:

1. Programming is Math.

2. Object-Oriented is based on *Set Theory* which has 2 weaknesses:

◇ Set has contradiction: The famous “Russell’s Barber Paradox”.

◇ **Data Immutability** for Concurrent Processing : OO can’t control the mutable state of objects, making debugging impossible.

**Category (“ cat“) has 3 properties:**

1.

**Objects**

eg.

*Set, List, Group, Vector Space, anything…*

2.

**Arrows**(“Morphism”, between Objects) which are

**Associative**

eg.

*function, sheaf, etc*

3.

**Identity**Object

Note: If the Identity is “0” or “Nothing”, then it is called * Free* Category.

**Extensions **:

1. “Cat” = Category of categories, is also a category.

2. **Functor 函子 ** = Arrows between Categories.

3. **Monoid ** = A Category with ONLY 1 Object.

**Monoid** (么半群) is a very powerful concept (used in Natural Language Processing) — basically it is a Group with No ‘*I*‘nverse (Mo**‘No**‘-‘*I*‘-d).

**Note**: In the pure Functional Programming Language **Haskell**:

**Monad** (单子) = Monoid with endo-functor.

Endo- = to itself (自己) eg. “f : A -> A”

Recommended :

1. The Best Book on Category Theory : Lawvere et al, Cambridge (2009, 2nd Edition)

2. A humorous book on Category Theory by Dr. Eugenia Cheng (2016): (found in Singapore NLB Loan book #501.1 CHE)

Reblogged this on Singapore Maths Tuition.

Reblogged this on Math Online Tom Circle.