These days I’m reading and trying to understand “Categories for the practising physicist” by Bob Coecke and Eric Oliver Paquette, the chapter from the book “New Structures for Physics”. Another its chapter — “Physics, Topology, Logic and Computation: A Rosetta Stone” by John Baez and Mike Stay — is quite famous among haskellers.
Why is this chapter the one to read? Some say that category theory is the language to describe (complex) systems, particularly in physics. Although “Rosseta Stone” provides some clues for such a confidence, it is mainly bound by the realm of quantum mechanics. Meanwhile “Categories for the practising physicist” seems to go further and takes into consideration physics in general. Moreover, it provides references to other interesting stuff, like usage of category theory in biology.
The nice feature of category theory as a language for physics is that it can be easily taught to a computer. And I bet Haskell to be a perfect tool for that. Here one may recall that in Haskell category theory is already used for modeling various systems. I’m talking about functional reactive programming, which is employed roughly to describe systems exchanging signals. This includes user interfaces, games, robotics etc. It is usually casted with the help of Arrows or Freyd-categories (whatever it means). Remember though that the approach of FRP differs from the interpretation of physics given in “Categories for the practising physicist”.
I’m ending the post with something completely unrelated — a photo of the Apollo 10 crew walking to a launch complex: