Category theory is basically a mathematical discipline; if you're from a mathematics background (specifically, if you're a mathematician), then you probably know what we are going to present. Category theory has a wide range of applications in theoretical computer science and in functional programming. So, first, let's provide an overview and the basic concepts of category theory.
Mathematics itself is a stream; it has many branches (or categories), such as algebra, geometry, topology, analysis, probability, logic, and so on. It is evident that these different branches of mathematics share a few common structures/patterns/trends. It becomes exceptionally useful when you have a problem in a branch and you want help from a different branch. For example, you might have a problem in geometry, and by transporting it to algebra (a different...