Live data from Hacker News

Applied Category Theory Course

math.ucr.edu

61–70 of 100 posts

Re: Applied Category Theory Course

#61
post #11

I'm writing a book [1] about "bona fide" applications of mathematics to practical programming problems, where bona fide is my own personal definition [2]. I've had my eye on claims of applications of category theory for many years, and none of them have quite fit the bill (sorry, John, if you're reading this). When they talk about applications to databases it seems quite unrealistic or lacking in sufficient detail to…

Developing conceptual maps/diagrams, ubiquitous language, and then implementing such a system is topos theory: We’re starting with categorical maps and then transporting that model into a type theory, while maintaining the semantics. Effective patterns in doing so are “applied category theory”.

OK, so name a concrete, production system that followed this pattern.

Re: Applied Category Theory Course

#62
post #41
post #10

Earlier quoted context omitted.

I have looked into applications of topology a lot and "everywhere" seems like a stretch, though perhaps you mean it in a particular sense that differs from mine. Could you give some examples of what you think of as the most useful practical applications of topology?

It is used everywhere. ML/AI would be a good example.

Give me a specific example. Maybe a link to some code, or a design doc, where topology comes into it.

If you're thinking about "topological data analysis" and "persistent homology" or similar, I have been down that road already and consider it a dead end (nobody uses it). See: https://buttondown.email/j2kun/archive/whats-in-production/

Re: Applied Category Theory Course

#63
post #58

Earlier quoted context omitted.

> And when I talk to people who are actually on the front lines that try to use category theory to solve some problem, they tell me that it ended up being completely useless. I'm open to having my mind changed. I aim to provide an example of applied category theory in computer science. Your understanding may differ due to the encompassing time frame, however, I ensure that even the most recent findings can rapidly tr…

I understand those concepts well, but I find the casual chain of events questionable, especially when the story is told by category theorists. For example, I was once told by a prominent category theorist that certain aspects of the API design for C++ futures was informed by category theory. When I spoke to the people who actually wrote the RFCs, they said category theory had no part in their thinking. This is what i…

> lenses solve a problem that no other language has

Indeed other languages don't have problems dealing with immutable collections since almost none have good immutable collections. All I can say is that, when working with other languages, I wish they did have that problem!

> most Haskell programs seem to me to be completely unreadable by anyone except the author

Interesting. That's the opposite of my experience. Haskell is pretty much the only language where I expect to be able to read code written by others ("others" including "myself a year ago").

Re: Applied Category Theory Course

#64
post #11

I'm writing a book [1] about "bona fide" applications of mathematics to practical programming problems, where bona fide is my own personal definition [2]. I've had my eye on claims of applications of category theory for many years, and none of them have quite fit the bill (sorry, John, if you're reading this). When they talk about applications to databases it seems quite unrealistic or lacking in sufficient detail to…

Sorry, off-topic: can you recommend some (applied) math books for self study people can read before your book is published?

I realize the question is somewhat strange and the answer depends on what people work on. Let's say it is not ML/AI.

I've enjoyed e.g. 'Calculus' by G. Simmons and Niven's 'The Mathematics of Choice' even though I didn't apply any of that at work.

Re: Applied Category Theory Course

#65
post #58

Earlier quoted context omitted.

> And when I talk to people who are actually on the front lines that try to use category theory to solve some problem, they tell me that it ended up being completely useless. I'm open to having my mind changed. I aim to provide an example of applied category theory in computer science. Your understanding may differ due to the encompassing time frame, however, I ensure that even the most recent findings can rapidly tr…

I understand those concepts well, but I find the casual chain of events questionable, especially when the story is told by category theorists. For example, I was once told by a prominent category theorist that certain aspects of the API design for C++ futures was informed by category theory. When I spoke to the people who actually wrote the RFCs, they said category theory had no part in their thinking. This is what i…

> ... but I find the casual chain of events questionable ... When I spoke to the people who actually wrote the RFCs, they said category theory had no part in their thinking.

I think you missed one level of indirection in my argument. I'm not claiming that language designers employ Category Theory explicitly when designing new language features (although this is indeed the case with Haskell, PureScript, and similar languages). Rather, my argument is that Category Theory features typically debut in these purely functional languages and then you will see on the Wikipedia page of mainstream languages something like: “Influenced by Haskell” (e.g. Rust, +20 others) . Category Theory is very abstract by nature, so I think it is only natural that there is some kind of indirect step through e.g. Haskell where people can see it in action first, before such features land in mainstream programming languages. The language designers would then say, 'Well, I have been influenced by Haskell (and not by Category Theory)', although the concept behind it is truly based on CT.

Many programmers don't keep math books at their workstation. However, they constantly utilize mathematical concepts in their coding. Often, they refer to programming language tutorials where these mathematical ideas are already implemented, for example, in Python or C++. This is as opposed to learning the concepts directly from a book on Algebra, Geometry, or Trigonometry. However, that still qualifies as applied mathematics. Hence, I see no reason why it shouldn't count as applied CT if you borrow concepts from Haskell that are based on CT.

Re: Applied Category Theory Course

#66
post #57
post #47

Earlier quoted context omitted.

It’s a bit tough, on one hand John Baez is a great messenger because he’s such a fantastic communicator. But on the other hand, he’s a pretty horrible spokesperson for ACT because the man did theoretical physics and higher category theory for 30 years and now has decided to do “applied” work. It’s pretty evident in this course, he’s just setting up the frameworks people talk about using but isn’t going for any actual…

All "applied category theory" books seem to be like this: they start by talking about how great the applications will be, but then instead of getting to the applications, they never stop developing the category theory for its own sake. A lot of math does similar things, to be fair, but I also don't count those as applied.

So, just to offer a few counterpoints there is Tom Leinster’s work on diversity/entropy [1], where people working in mathematical ecology have been happy with his contributions. I’ve also see the Penn robotics group start to use categorical machinery to nail down concepts like bisimulation of dynamical systems and develop a ‘type theory’ for motion plans that has its semantics in a category of dynamical systems [2].

[1] https://arxiv.org/abs/2012.02113 [2] http://www.tac.mta.ca/tac/volumes/35/45/35-45.pdf

I can’t stress enough that Koditschek group are serious people who are using this stuff because it addresses problems they’ve been grappling with.

Re: Applied Category Theory Course

#67
post #61

Earlier quoted context omitted.

Developing conceptual maps/diagrams, ubiquitous language, and then implementing such a system is topos theory: We’re starting with categorical maps and then transporting that model into a type theory, while maintaining the semantics. Effective patterns in doing so are “applied category theory”.

OK, so name a concrete, production system that followed this pattern.

Two that I know of, when I worked there:

- Amazon Device Econ modeling platform, for econometrics

- Amazon Tax calculation platform, for things like VAT

But more broadly, that’s how you develop software: you’re theory building.

1. Develop language and rules in that language.

2. Give them semantic meaning in a diagram and set of example cases.

3. Develop a corresponding type theory for that.

4. Implement that synthetic domain theory in a general type theory — eg, a programming language.

You don’t have to know that it’s topos theory to do those steps, but each is better when you’re explicit about them — and knowing how to guide the first step to get good results at the last step is definitely applied topos theory.

Post reply on HN