How category theory is applied
johndcook.com
johndcook.com
Monads are one specific application of category theory.
Of course monads in and of themselves are still very abstract, so we need to drill down to another level of concreteness by taking a look at the "Maybe", "Either", or "IO" monads.
This is still very abstract so we can drill down to another level to "does the data exist", "is there an error", and "how do I handle IO"?
Category theory is a toolbox of mental representations useful for reasoning about a particular problem set (designing formal systems that let you design formal systems). In other words, category theory is an abstract concept for solving a slightly less abstract set of problems.
Asking for concrete examples doesn't really make sense because it is too far up the abstraction hierarchy.
To make the case for the importance of category theory, it is necessary to present the entire abstraction hierarchy across a number of different real world domains. This is not something academia is good at because it tends to isolate and subdivide work into increasingly specialized fields.
Then says that category theory "does not itself solve hard problems in topology or algebra. It clears away tangled multitudes of individually trivial problems. It puts the hard problems in clear relief and makes their solution possible.".
And doesn't give any examples.
Still sounds useless to me.
The most interesting "application" of category theory that I've seen (as it relates to software engineering) is the connection between databases and category theory, e.g at https://johncarlosbaez.wordpress.com/2018/06/06/applied-cate.... In short, relational schemas are categories, and common data migration operations can very naturally can be described in the language of category theory (functors, pullbacks etc).
So is this application productive? It's nice to be able to describe something that already exists in terms of category theory, and even nicer if those descriptions are concise and satisfying. But does that description enable anything new? Did we get any new migration operations, normal forms, etc?
http://www.categoricaldata.net/help/instancesigma.html
Is there somewhere i can go for a worked example of using sigma?
The point, I think, is not that those fields of mathematics have obvious concrete applications to computers, but that they support each other in how they are applied to computer problems. Like, one reason numerical analysis is useful is that it helps you better solve differential equations, a common way to model a linear system. So linear algebra, of course, has these great applications in computers, but they're still pretty indirect because it's not like we program computers by feeding them linear maps (or whatever).
I wouldn't say that you can't do this stuff without category theory, but it does make it easier / clearer. (Similarly, you can do a lot of geometry without coordinates, but coordinates definitely make some stuff easier / clearer.)
[1] https://www.wikiwand.com/en/Brouwer_fixed-point_theorem#/A_p... [2] https://www.wikiwand.com/en/Eilenberg%E2%80%93MacLane_space
Call a real number "algebraic" if it's a zero to some polynomial with rational coefficients. (e.g. \sqrt{2} is algebraic since it's a zero for x^2 - 2). Claim: There exist non-algebraic ("transcendental") numbers. Proof: There are only countably many polynomials, and so there are only countably many algebraic numbers, but there are uncountably many reals. Similarly, there are numbers that aren't Turning-computable. Etc.
I don't agree. Actually it can be understood relatively easily, if it's explained well:
I beg to differ. While quantum mechanics is linear algebra with a lot of tensor structure. The language of deep learning is linear algebra (plus non-linearities). Often in machine learning one use lin alg pretty much directly: linear regression, SVD, etc.