11 ms·
Applied Category Theory Course
- moralestapia 3y agoGreat content, too bad some of the links are broken now.
- mindcrime 3y agoSee also: https://news.ycombinator.com/item?id=37653015 https://news.ycombinator.com/item?id=37653015
- nighmi 3y agoHow much time do you guys really need for such a course? I have then stacking up and have a list of a few dozen books and courses to go over. I am beginning to think I'm doing this wrong, or simply don't know how to prioritize, a common modern problem of course.
- epgui 3y agoIf you’re spending more than a few months on a topic you might be doing it wrong. I find that following a slightly stressful fast-paced schedule is actually kind of important for effective learning.
- helix278 3y agoI'm working through a similar course with friends. We take two hours a week, and ocasionally do homework. We're about halfway since we started early this year. I feel its fine, no need to rush. The upside of taking it slow is that it stays with you for longer, I think. If you rush it and find no immediate application afterwards, you risk forgetting everything.
- epgui 3y agoLong term retention requires spaced repetition of course. But I think the stressful pace does help not get bogged down on a first pass of the material. It's impossible to cover everything about a topic in a short amount of time, but when you try, you at least develop a map of the terrain.
- behnamoh 3y agoI’ve seen many “applied” category theory posts and books but it’s important to remember that pure mathematicians’ definition of “applied” is way different than and more boring than you’d think. I still have to see some insights that CT gave us about a real world application that wouldn’t have been discovered without CT. Most of CT to me seems like definitions on top of definitions.
- ekidd 3y agoHonestly, category theory is more useful for programming language designers than for programmers in general. Here are some of the more interesting things it's good for: 1. The lambda calculus is the basis for most functional programming and for closures. The lambda calculus is also tightly linked to Cartesian closed categories. And a huge number of structures in math are either Cartesian closed categories, or at least topoi, which are closely related. This connection can be used to quickly sketch out designs for exotic programming languages. 2. Many simpler categorical ideas map cleanly to programming languages. Functors are parameterized types with `map` functions. Natural transformations correspond to certain kinds of tidy parameterized types. Even monads are basically just nested parameterized types that support `flatten`. And so on. Now, most of this stuff is pretty shallow category theory. It's mostly definitions. But they're definitions that allow you to draw interesting connections between functional programming, parameterized types, and distant branches of math. Used right, you can design some pretty unusual languages that fit together cleanly.
- fithisux 3y agoI agree, especially for programming language semantics or abstract compilation. Also it is very useful for theoretical computer scientists.
- epgui 3y ago> Honestly, category theory is more useful for programming language designers than for programmers in general. Probably true. However... I wouldn't take that comment too far. IMO if more programmers took interest in the subject, they might begin to see complexity/simplicity they didn't recognize before, and make different language choices, or take a different approach to compositionality.
- stathibus 3y agoWhy is everyone here so obsessed with category theory? It has basically no useful theorems.
- bmitc 3y agoI think it's mainly software folks who feel mathematical learning it. Mathematicians primarily use it as a linkage and general tool in some context. I feel category theory needs something to latch it on to. Most software based applications seem a little too contrived, unless I have missed something interesting.
- k__ 3y agoIf CT is used to connect different parts of math and software is basically math proofs, then it makes sense programmers find CT interesting. It let's you connect your software to math concepts.
- hughesjj 3y agoOdd take on a post called "applications of category theory" I mean topology didn't have so many applications 100 years ago, but now that shits everywhere. Math is the ultimate r&d. It's literally the language of causality. Imho it can't not be useful.
- j2kun 3y agoI'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 evaluate. 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. The one application that's come the closest is UMAP, [3] though the last time I checked, a few years ago, the jury was still out on whether the structure it produces in applied contexts like biology is spurious. So what specific applications do you know of category theory to practical problems? For the purpose of this post "application" means used by someone in a production software setting to solve a problem not related to category theory. Someone who doesn't care about category theory should care about the problem being solved. And, to be sure, category theory is fine an dandy in its applications to other areas of math, as a unifying language for homology and whatnot. I'm talking about the kind of claims category theory folks sometimes make like "category theory is ushering in a programming revolution and you need to learn it to stay relevant" [1]: http://pmfpbook.org/ http://pmfpbook.org/ [2]: https://buttondown.email/j2kun/archive/whats-in-production/ https://buttondown.email/j2kun/archive/whats-in-production/ [3]: https://umap-learn.readthedocs.io/en/latest/ https://umap-learn.readthedocs.io/en/latest/
- matteocapucci 3y agoYou might want to check the most recent work on epidemiogical modeling. Baez blogs extensively about it.
- fithisux 3y agoI ended up there too. Nice for theoretical work, bad for practical work. Functor is useful though.
- jiggawatts 3y ago> When they talk about applications to databases it seems quite unrealistic I read a paper that claimed that the category of polynomial-like things ("Poly") was somehow useful for database migrations! Without a concrete example, that's just an absurd statement to make. If you don't explicitly connect the dots between SQL schemas and polynomials, then you're just hand-waving. It's the equivalent of: "I have a marvellous proof but alas it is too long to fit into this margin."
- deleted 3y ago[deleted]
- haltist 3y agoVery cool topic list.
- xiaodai 3y agoSurely applied category theory is an oxymoron
- deleted 3y ago[deleted]
- epgui 3y agoThe attitude that a serious academic subject has no practical application is pretty anti-intellectual: it's a good heuristic to say that it's probably wrong.
- js8 3y agoIs there a PDF version?
- diordiderot 3y agoMy Excerpts for HN crowd >I'm not a programmer. I apologize for this flaw. > this is not a course on "categories in computer science". Nonetheless, because category theory is about understanding and organizing abstract data structures, everything I say will be relevant in some way to computing! Furthermore, several chapters in Seven Sketches explicitly discuss databases, and type systems, and other aspects of computer science.
- throw156754228 3y agoSome things in Haskell seem so laboriously interwoven with Category Theory. Take for example representable functors for memoization. Pages of Category Theory to do something dead simple. In comparison memoization in javascript is just throwing things into a {}.
- nsxwolf 3y agoI thought this said Joan Baez and was very intrigued.
- philipov 3y ago[flagged]
- mikhailfranco 3y agoSurely Baez's even in American English (yeah, I know it's a Spanish name). British English almost always adds 's for the singular possessive, even when the name ends in s, so Dickens's and St. James's. However, American English often uses the plural possessive suffix ' for names ending in s. One Spanish name example I have seen is Bezos' for something of Jeff's (his billions, or his wives, I forget which). But Baez' makes no sense to me on any side of the Atlantic.
- getpost 3y agoMade me look it up: https://www.merriam-webster.com/grammar/what-happens-to-names-when-we-make-them-plural-or-possessive https://www.merriam-webster.com/grammar/what-happens-to-name...
- deleted 3y ago[deleted]
- _a_a_a_ 3y agoIt's fine & I've used that. Given a name (say Jones) then the possessive is with a "'s" suffix (Jones's) but for by convention you can elide the final "s" to avoid duplication (so: Jones'). I'm happy that can be done with a "z", hence Baez' is fine.