Categories are what we call it when each arrow remembers its source and target. When they don’t, and you can compose anything, it’s called a monoid. The difference is the same as between static and dynamic type systems. The more powerful your system is, the less you can prove about it, so whenever we can, we express that particular arrows can’t be composed, using definitions of source and target.
Categories are what we call it when each arrow remembers its source and target. When they don’t, and you can compose anything, it’s called a monoid. The difference is the same as between static and dynamic type systems. The more powerful your system is, the less you can prove about it, so whenever we can, we express that particular arrows can’t be composed, using definitions of source and target.