5 ms·
Applied Category Theory: Textbook (2019)
- throwaway626 3y agoDavid Spivak is a treasure. One of the clearest expositors of category theory out there.
- staunton 3y agoHas anyone here ever used category theory in a business (or any purpose other than publishing papers)? (Don't give me "I used a monad once while programming", I mean the kind of stuff that book is about)
- jksk61 3y agothese kind of books are "philosophical" books. In the sense that the usage can be written/explained in other ways. For instance, monads are just a way to see that if you compose two ducks you still have ducks that behave in the same manner, but that's almost the same thing as having a class and define the composition arrow as a method. The only difference is that with CAT you have theorems asserting what's true and what's not, with classes I don't think there's much literature. A similar reasoning can be applied to neural networks as there are very different POV: someone will look at them as ODE systems, other as a pure discrete dynamical system or as an optimization problem or whatnot.
- corethree 3y agoI've used it to optimize SQL. The principles I used in SQL can be used in other places as well. I think functors are easier to understand and more fundamental to category theory and programming than monads.
- contravariant 3y agoMonads are fairly simple as well if you use C#'s brilliantly chosen names SELECT and SELECTMANY for the two relevant maps.
- agumonkey 3y agoThe idea of sharing structural properties/invariants between abstractions is something that is in my mind often, and reading the book intro resonates with me.
- throwaway626 3y ago[dead]
- zmgsabst 3y agoDomain Driven Design is essentially applied category theory: You develop a language that models your domain, translate that into a diagram, and translate that diagram into code. (Okay, actually topos theory since you’re going between type theories and diagrams — but you use the diagrams to move between type theories and define “equivalent structure”.)
- wisnesky 3y agoWe use it for data integration https://www.categoricaldata.net https://www.categoricaldata.net
- rthnbgrredf 3y agoI recently compiled a list with more to read on the topic: https://github.com/madnight/awesome-category-theory https://github.com/madnight/awesome-category-theory
- AugustoCAS 3y agoThanks for sharing this! I'm just getting my head around category theory (in Haskell). I would appreciate if anyone knows of a small project out there that uses category theory to learn how to design and architect a solution (even better if it's in Haskell!)
- hibernator149 3y agoThis is not strictly (purely?) category theory, but two fun little projects that will teach you a lot (or reinforce what you already know) are writing your own parser combinator library (https://www.cs.nott.ac.uk/~pszgmh/pearl.pdf https://www.cs.nott.ac.uk/~pszgmh/pearl.pdf) and Lens library (https://en.m.wikibooks.org/wiki/Haskell/Lenses_and_functional_references https://en.m.wikibooks.org/wiki/Haskell/Lenses_and_functiona...).
- wavemode 3y agoAs someone who used to use Haskell a lot, I will tell you that learning category theory isn't really going to improve your practical ability to architect Haskell code. If you're simply curious about the mathematical structures that Haskell's standard typeclasses are named after, then by all means learn category theory. But if you're trying to improve your ability to use those typeclasses to write real-world software, I recommend "Haskell From First Principles" and/or "Effective Haskell". And get your hands dirty writing actual programs - practice makes perfect.
- deterministic 3y agoCT is great if tou are into abstract math. And it is a complete waste of time if you are looking for ways to become a better developer.