Category Theory & Programming
by Yann Esposito
@yogsototh, +yogsototh

Plan

Abstraction Example

Something you see very often but in different instances.

Once you recognize the notion, you see it almost everywhere.

Numbers ⇒ Set Theory (\(\infty\))

Numbers Set Theory
\(\mathbb{N}\): \((+,0)\) Semigroups
\(\mathbb{Z}\): \((+,0,\times,1)\) Rings
\(\mathbb{Q}\) Fields
\(\mathbb{R}\) Complete Fields (topology)
\(\mathbb{C}\) Algebræ
Modules,Vector Spaces, Monoids, ...

More general: more things are sets.
& More precise: clear distinction between concepts)

Set Theory ⇒? Category Theory

Numbers Set Theory (\(\infty\)) Category Theory (relations)
\(\mathbb{N}\): \((+,0)\) Semigroups ?
\(\mathbb{Z}\): \((+,0,\times,1)\) Rings ?
\(\mathbb{Q}\) Fields ?
\(\mathbb{R}\) Complete Fields (topology) ?
\(\mathbb{C}\) Algebræ ?
Modules,Vector Spaces, Monoids, ...?

/.*/ ⇒? Category Theory

More general: more things are sets.
& More precise: clear distinction between concepts)

too much abstraction?

More general & more precise

Animation, Math & Code

Some math \(\sum_{i=1}^\infty \frac{1}{2^x} = 1 \)

Another math formula $$\sum_{i=1}^\infty \frac{1}{2^x} = 1$$

import Control.Monad

main :: IO()
main = do
    putStrLn $ "Hello !"

/

#