Live data from Hacker News

Programming with Categories

brendanfong.com

91–100 of 113 posts

Re: Programming with Categories

#91
post #19

I've read a lot about Category Theory, and I'm amazed at the abstraction level that lets you compose with different mathematical domains (geometry, topology, arithmetic, sets, ...). And yet, the current mathematics relies heavily on the ZFC set theory. Why is that ? (Is that assumption even correct ?) From what I've learned so far, the set theory suffers from Russel's Paradox[0] (does the set of all sets that does no…

I once asked a logic professor I'm friends with and he spent fifteen minutes ranting about large ordinals and reverse mathematics and non-absolute logics. Apparently there is some incredibly weird stuff at the fringes of logic that we only really know how to handle in ZFC.

This is purely secondhand, of course, and I forget almost all of the details. Contemporary set theory is scary scary stuff.

Re: Programming with Categories

#92
post #83

Earlier quoted context omitted.

Any resources for semilattices that you do like? I'm also finding them mentioned around CRDT & distributed systems threads.

My all-time favorite is the original LVars paper: https://users.soe.ucsc.edu/~lkuper/papers/lvars-fhpc13.pdf

> Conclusion ... monotonicity serves as the foundation of deterministic parallelism

That's what the recent CALM Theorem [1] paper uses as the first theorem:

> Monotonicity is the key property underlying the need for coordination to establish consistency, as captured in the CALM Theorem:

> THEOREM 1. Consistency As Logical Monotonicity (CALM). A problem has a consistent, coordination-free distributed implementation if and only if it is monotonic.

Unsurprisingly, this paper is reference 32 in CALM. Maybe I should check out some other papers referenced here... Thanks for the recommendation!

[1]: https://cacm.acm.org/magazines/2020/9/246941-keeping-calm/fu...

Re: Programming with Categories

#94

Earlier quoted context omitted.

> Respectfully, I disagree. The question of what's mainstream and valued by the community is empirical and can be answered by looking at what's published in the leading combinatorics journals. And anyone can check those out and see that categories are basically absent. So as a sociological fact, I maintain it's far from the mainstream. I think it is also a reasonable interpretation to take "mainstream" as "pertaining…

It may the case that combinatorics is large, with mathematicians focused on their own particular sub-specialities, but I still don't believe category theory can properly be construed as "mainstream combinatorics" in any real sense. Regarding your claim about that paper being cited by papers in top journals, I checked the first five pages of citations in Google Scholar for combinatorics and probability journal papers.…

I should have demonstrated my picks. I didn't just look for citation but also looked for at least some nontrivial review of the results of the paper^.

I pick these two papers. The first is literally about adjunctions pertaining to combinatorial species whereas the second devotes an entire section to reviewing the theory and stating results that it uses in a way that I don't really understand. I'm going to read the first paper though because it's relevant to my interests :)

Rajan. The adjoints to the derivative functor on species

https://www.sciencedirect.com/science/article/pii/0097316593...

Panagiotou, Konstantinos; Stufler, Benedikt; Weller, Kerstin. Scaling limits of random graphs from subcritical classes.

https://projecteuclid.org/euclid.aop/1474462098

The fact that I have to go rummaging around for these examples kind of proves your point, doesn't it? I don't think category theory will lead to any fantastic new results in the fields we're discussing, but the bar is quite low for it to be useful as an organizational tool.

^ I searched for the word functor of course! :)

Re: Programming with Categories

#95

Earlier quoted context omitted.

It may the case that combinatorics is large, with mathematicians focused on their own particular sub-specialities, but I still don't believe category theory can properly be construed as "mainstream combinatorics" in any real sense. Regarding your claim about that paper being cited by papers in top journals, I checked the first five pages of citations in Google Scholar for combinatorics and probability journal papers.…

I should have demonstrated my picks. I didn't just look for citation but also looked for at least some nontrivial review of the results of the paper^. I pick these two papers. The first is literally about adjunctions pertaining to combinatorial species whereas the second devotes an entire section to reviewing the theory and stating results that it uses in a way that I don't really understand. I'm going to read the fi…

OK. The first paper is indeed literally about species and in a good but not top journal. But it's not connected to the mainstream of combinatorics in any way, in the sense that if you aren't a priori interested in species, there's no reason to be interested in the paper.

The second paper is interesting because it's in an excellent journal and about a problem not obviously connected with species. So I agree that it counts as a good example for your case. I also agree with your conclusion – it's an exception that proves the rule, so to speak. Most probabilists have no need for category theory, and most AoP papers don't use categories. (I feel that may literally be the only one?)

I also agree that, to the extent it's useful, it's useful as an organizing principle and not "substantively." I suppose this explains why I feel it's overhyped: mathematicians care about solving problems, and the insights that solve the problems ultimately have to come from some problem-specific observations.

Re: Programming with Categories

#96

Earlier quoted context omitted.

I wish semilattices got more play. They're so ubiquitous when talking about distributed systems. I remember a keynote on eventual consistency in databases that could have been replaced with "make your merge operation the join of a semilattice."

Any resources for semilattices that you do like? I'm also finding them mentioned around CRDT & distributed systems threads.

I read Birkhoff's "Lattice Theory" many years ago, then wandered down some idiosyncratic path, so, no, I'm sorry. I really don't have anything.

Re: Programming with Categories

#97
post #35
post #32

Earlier quoted context omitted.

> here's a nice video https://www.youtube.com/watch?v=ADqLBc1vFwI This made me laugh way more than it should have. "Why don't you pattern match my fist all over your faces!"

"Don't worry, Haskell transpiles to Java now." And the last line....

https://www.metalevel.at/prolog now you found it!

Re: Programming with Categories

#98
post #38
post #4

In my experience, Monad, Applicable, and Monoid are probably the only ones I'd use in Haskell, and maybe none of them in languages without good inference and general support. Pretty wild ideas, though. Fair chance they'd be more confusing than using more specifically named instances, but solid ideas where the class instance documents that you're using the pattern, instead of describing the preferred interface.

You've definitely used Functors or Semigroups as well, you just didn't realize it.

Here is my problem with these ideas in programming: if you recognize that some common construct is in fact a semigroup or functor, does knowing this actually buy you anything?

I suppose it might help sometimes when designing an abstraction, to guide you to some nice properties, such as easy composition.

Re: Programming with Categories

#99

Earlier quoted context omitted.

Yes, but this time it was a funny one. I laughed, and not just at AbstractSingletonProxyFactoryBean. Gotta be able to laugh at yourself sometimes.

Thanks for replying. I gave up on the beginning because those jokes tend to always be the same. (And to be fair, half of them are the same overused ones. But the others are good.)

The beginning wasn't great, but it had some really hilarious lines later.

Re: Programming with Categories

#100

When taught in January at MIT, a highlight was something I'd not seen elsewhere: someone called it the "aftermath" (3-pun). After the one-hour traditional-ish lecture (on video), the room was reserved for an additional hour. When previously taught, people would remain afterwards to ask questions, discuss math, and chat. So this was an iterative-improvement formalization of that. People would gather in front of the bl…

This is the most valuable part of the in person learning experience. Free form discussion and building intellectual context around a subject. I experienced this in a community college environment. This should be encouraged in any learning environment.

This is what I sort of dreamed university would be like. But alas it wasn’t. Just lectures and students doing the minimum to get through the week and hit the bars.
Post reply on HN