News for hackers. Stuff that matters.
Re:How category theory is applied by bcheung on Monday April 29, 2019 @10:30PM (#19784621)
It is difficult to come up with concrete examples of category theory because it is too high up the abstraction hierarchy. It normally requires stepping through several layers of abstraction to reach something concrete.

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.

Re:How category theory is applied by twic on Monday April 29, 2019 @05:53PM (#19782940)
Gives three examples of bits of mathematics with really strong concrete uses.

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.

Re:How category theory is applied by ironSkillet on Monday April 29, 2019 @06:27PM (#19783188)
I agree, the article does not actually present anything concrete. For me, the usefulness of category theory is in providing a simplifying and high level set of abstractions that can serve to illuminate the structural essence of a problem domain. At first, I thought it was just abstract nonsense (and this is coming from someone who has a PhD in mathematics), but after playing around with it a bit, I've started to appreciate the power of the concepts.

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).

Re:How category theory is applied by twic on Tuesday April 30, 2019 @02:37AM (#19785639)
> 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

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?

Re:How category theory is applied by wisnesky on Tuesday April 30, 2019 @05:52AM (#19786480)
Yes, for example the dual of join (called 'sigma'), which only exists for databases in categorical normal form. There are many academic papers and an open-source project ('categorical query language') here: http://www.categoricaldata.net.
Re:How category theory is applied by twic on Tuesday April 30, 2019 @08:12AM (#19787188)
Sounds interesting! I had a look, but couldn't find out what sigma does. This is not quite the same level as, say, the PostgreSQL documentation:

http://www.categoricaldata.net/help/instancesigma.html

Is there somewhere i can go for a worked example of using sigma?

Re:How category theory is applied by wisnesky on Tuesday April 30, 2019 @02:19PM (#19790516)
Sure, here is an example that uses sigma to compute an equivalence relation:

http://cql.conexus.ai/quotient.php

Re:How category theory is applied by sl8r on Monday April 29, 2019 @11:31PM (#19784925)
FWIW, I think the best "applications" (if they can be called that) come from domains like algebraic topology and algebraic geometry, where some concepts come up so frequently that it's useful to formalize them in category theory. The homology proof of Brouwer's fixed point theorem [1] is one good example. Things like Eilenberg-Maclane spaces are another (really is most natural to think of them the thing that represents some functor).

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

Re:How category theory is applied by johndcook on Monday April 29, 2019 @08:20PM (#19783934)
Here's an example. It's not mentioned in the OP, but in a link in the OP. Microsoft's LINQ was designed using principles from category theory. They didn't use category terminology in the final product, and rightfully so.
Re:How category theory is applied by tomjakubowski on Monday April 29, 2019 @09:38PM (#19784364)
> Gives three examples of bits of mathematics with really strong concrete uses.

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).

Re:How category theory is applied by evrydayhustling on Monday April 29, 2019 @08:30PM (#19783993)
Yup, no applications provided. Only here would this title be clickbait, but here we are. I would suggest "Category theory may inspire results in other fields", but specific example of that is also not present.
Re:How category theory is applied by pizza on Monday April 29, 2019 @05:25PM (#19782759)
Very interesting. Somewhat ironically, I think I would understand the article better with some examples of actual transformations/applications of category theory in original problem domains.
Re:How category theory is applied by fspeech on Monday April 29, 2019 @06:37PM (#19783268)
Category theory basically reshaped the language (and methodology, in some sense) of large swaths of modern mathematics. So it s applied more like the set theory, as a foundation. But it’s hard to explain to people not steeped in the subject.
Re:How category theory is applied by sl8r on Monday April 29, 2019 @11:22PM (#19784872)
Although, to play devil's advocate, you can prove results with set theory that you'd care about even if you weren't super interested in foundations, usually by playing with different cardinalities. E.g.:

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.

Re:How category theory is applied by fspeech on Monday April 29, 2019 @11:42PM (#19784984)
If you write out your statements encoded in say ZFC no one would recognize what you are saying. Sometimes the concept of sets and set relationships fit our needs exactly. Other times we build more user friendly concepts on top of set theory like an API. Categorial constructions are also everywhere whether one recognizes them or not.
Re:How category theory is applied by sunmao on Tuesday April 30, 2019 @08:25AM (#19787262)
"But it’s hard to explain to people not steeped in the subject."

I don't agree. Actually it can be understood relatively easily, if it's explained well:

https://www.youtube.com/watch?v=ho7oagHeqNc

https://www.youtube.com/watch?v=L0aYcq1tqMo

Re:How category theory is applied by fspeech on Tuesday April 30, 2019 @11:33AM (#19788843)
I didn’t mean that category theory itself is hard to explain. I meant that its application to modern math (esp. non trivial ones) is hard to explain without bringing in sufficient math background.
Re:How category theory is applied by stared on Tuesday April 30, 2019 @04:08AM (#19785979)
"but it’s not often applied so directly"

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.

Re:How category theory is applied by varjag on Monday April 29, 2019 @05:50PM (#19782924)
post-hoc