I study functional programming with Clojure and want to deepen my theoretical understanding of the functional paradigm (and not just the Clojure syntax).
I am looking for axioms or formulas , like every functional method, such as recursion, mapping, reduction, minus, first a-contact, relates to each other, composed of which, and which is the ultimate axiom for everything.
For example, I realized that mapcan only be realized with the use of functions recur, first, restand cons, and, of course, itself a function of the display is transmitted map.
After that, I also realized that it mapcould also be implemented with reduce, and again, the reduction could be implemented with recur, firstand rest. It filtercan also be implemented using reduce.
It seems to me that I am beginning to envelop functional programming, but it is still difficult to understand which of them are the most final building blocks, i.e. minimal set of abstractions or keywords to create an arbitrary function. With the map example, the second method uses one smaller abstraction to achieve the same goal. So, what are some limiting axioms of a functional paradigm to help me see the big picture?