2 ms·
All you really know about arrows, is that you can compose them if the tip of the first arrow fits into the tail of the second arrow, that is the first arrow is
by orbifold 12y ago
All you really know about arrows, is that you can compose them if the tip of the first arrow fits into the tail of the second arrow, that is the first arrow is from A to B and the second from B to C, in a way that is associative, which means that if you have three arrows, it doesn't matter in which way you compose compose them.
Moreover for every object A, there is an identity arrow. Composition with that does yield the original arrow.
The point of those axioms is that they are satisfied by lots of different mathematical structures and idealized physical situations as well (Feynman diagrams, Chemical reaction networks, Knot-/Braid diagrams etc.).
For how this relates to computation, you can look at http://math.ucr.edu/home/baez/qg-fall2006/index.html#computation http://math.ucr.edu/home/baez/qg-fall2006/index.html#computa... for example. It is a bit more subtle than one would think at first, as in functional programming languages with "first class" functions, those are not not actually arrows, but objects. More precisely the type (A -> B) in Haskell, or (A=>B) in Scala, is a notation for an internal hom object.
The more interesting ideas arise when you then study how different such categories relate to each other, you then come up with Functors and how Functors between Categories are related to each other, those are called Natural Transformations. The original motivation for the invention of category theory was the study of natural transformations in homological algebra and algebraic topology. In the preceding years people had come up with several alternative functors (Cohomology / Homology on certain topological spaces) and they needed a way to talk about in what way those constructions were equivalent to each other.