Category Theory for Functional Programming

tomcircle's avatarMath Online Tom Circle

image

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 “Russell’s 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, anything…
2. Arrows (“Morphism”, between Objects) which are Associative
eg. functions 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.

image

image

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

image

image

View original post

Unknown's avatar

Author: tomcircle

Math amateur

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.