Philosophy
The only question of a proper philosophy, since the times of the earliest Upanishads is What Is Real? or - discarding some redundancy - What Is?.
The biggest achievement of the ancient Eastern philosophy, which is philosophy of the mind, was postulating the principle of primacy of “Reality” - that it comes before the mind (and everything living) and reduction of everything to that “Real”, defining everything as different aspects of the One.
Nowadays we would call it localized sub-processes of the single one Universe, which itself is a one single process.
The notions of a process and of a physical locality are the most fundamental and everything else could be derived from these.
A cell, localized in its particular environment (subject to a set particular physical constraints) is a process, which has distinct boundaries - a membrane which is required for a process to sustain itself.
Every process has its own locality and physical boundaries (which separate it from the rest of the Universe), and this, again, is a fundamental, universal notion (a universal pattern).
It is not arbitrary or due to a chance that what we call “fundamental laws of physics” are based on the notion of an inverse square of distance.
The notion of a distance thus is the basis of the notion of being unrelated, which is operationally means “too distant to have any effect”.
It is worth to iterate - motion is relative, time is a derived abstraction, superimposed my the mind of an external observe (with serialized perception) onto what it observes.
Distances, however, are absolute, while “units” of measure are abstract and measuring itself is a superimposing an abstract scale by the mind, exactly as it is with time (it is also an abstract scale of arbitrary units).
It clears the understanding immensely when one distinguish abstract tools of the mind from What Is, and this habitual skill goes back to the Buddha and beyond. Any kind of probability considerations are such abstract tools.
Ultimately, everything in Universe is related and unfolds due to the Causality Principle, and this realization goes back to Upanishads. Just remember about locality and distances, these are universal notions..
It helps to clarify what is related and what is unrelated, which, of course, depends on the particular context and model, but ultimately the more distant the process the less related they are.
Notice, again, that being “distant in time” is an abstract notion and the causality could easily be established. “At the same time” usually means (have definitive, no-nonsense meaning) “at the same locality”. Talking about what happens at this very moment in another galaxy has no meaning, it is just abstract bullshit talking.
The Causality Principle itself is beautifully captured with the famous Modus Ponens, which states that “when what is necessary and sufficient is present (in a given locality) and the process is here (in the same locality), then the results will follow inevitably”.
No wonder that expressed symbolically with an evolved notation.
($) :: (a -> b) -> a -> b
it corresponds to (or actually is) an application of a function to an argument, which is a captured universal notion of a single step of a process.
Everything is related and consistent, as it indeed must be.
The Hilbert system of logic, in which there is only one rule - this Modus Ponens - is not a coincidence, it is the only way.
Not surprisingly, what we call a pipeline is just an application with arguments reversed.
(|>) :: a -> (a -> b) -> b
Still the same Modus Ponens.
In Lambda Calculus an application is so fundamental that it is almost overlooked, while it is the only way to take a single step of computation.
The other fundamental notion, also overlooked, is of nesiting which is the only way to establish an order of evaluation in Lambda Calculus.
And, of course, partitioning, application and nesting have corresponding universal notions (which they are capture).
Again, nothing is arbitrary here. The mind of an external observer captures actual patterns and evolve corresponding symbolic notations and formalized notions.
Notice also that this is the same abstract concept, just like |>
.
(>>=) :: Monad m => m a -> (a -> m b) -> m b
TODO
Partitioning, nesting, branching (and joining).
Cells, membranes, abstraction boundaries.
Events
Message passing.