News for hackers. Stuff that matters.
Re:The Dao of Functional Programming [pdf] by mbrodersen on Tuesday May 24, 2022 @09:39PM (#31499670)
Not at all. Lambda Calculus is a much better mathematical foundational for functional programming that Category Theory is. I can teach a programmer Lambda Calculus in a few minutes and they will be able to use it for programming. Not so with CT. You need to add a lot of structure to get anything close to Lambda Calculus. Basically about 50% of a Typical CT book to get there.
Re:The Dao of Functional Programming [pdf] by carapace on Tuesday May 24, 2022 @10:22PM (#31499928)
> I can teach a programmer Lambda Calculus in a few minutes and they will be able to use it for programming.

Which programmer? Bare Lambda Calculus? Wouldn't that be pretty useless?

> Not so with CT. You need to add a lot of structure to get anything close to Lambda Calculus.

I'm not sure I follow, I've heard that "the simply typed lambda-calculus is modeled by any cartesian closed category (CCC)." http://conal.net/papers/compiling-to-categories/

Re:The Dao of Functional Programming [pdf] by mbrodersen on Wednesday May 25, 2022 @08:38PM (#31512811)
> Wouldn't that be pretty useless?

Not at all. It is way more useful than learning CT. LC is the foundation used in almost all of computer science. You need to understand it to read any advanced Type Theory papers for example and you can directly use it as a starting point when designing a functional programming language.

> β€œthe simply typed lambda-calculus is modeled by any cartesian closed category (CCC)

That is correct. You can model pretty much anything in Category Theory. The same way you can model pretty much anything in Type Theory or Set Theory. However IMHO it takes a lot more structure to build up to CCC than it does to simply use LC. The paper you are referencing is great. However the author might as well have used LC to achieve the same goal.

Re:The Dao of Functional Programming [pdf] by carapace on Thursday May 26, 2022 @12:11PM (#31520114)
I dunno, I've been messing around with Joy recently and it's put me off LC. https://en.wikipedia.org/wiki/Joy_(programming_language)