"There are two pure forms of sensible intuition, as principles of a priori knowledge,
space and time" (Kant).
"Even space and time are not only not real, but are projections that come from something deeper and more mysterious" (Fred Alan Wolf)
"When the gates of space open, the gates of time will open as well" (Einstein).
Abstract space
Expressions of language reside (or "live") in an abstract space. This space, initially, is the void and has no structure. The structure is associated with the relations between the expressions, not the space itself. This differs from the von Neumann model of computer architecture or the theoretical Turing machine, where the structure is linear.
Abstract space is not a geometric space. It is a "mental" space, in the sense that it is a dimensionless hyperspace, where expressions are connected and related. It is a flexible space, where there is no metric (distances), although it could be defined, if desired.
Abstract time
Abstract time is the time associated with sequence evaluation, where each unit of abstract time corresponds to each component of the sequence. For example, the sequence (a b c) is evaluated in abstract times 1, 2 and 3.
In sets the abstract time is 1, since all components are evaluated in parallel.
An abstract time can have abstract subtimes, only in the case of sequences. For example, in the sequence (a (u v) b) the abstract beats are 1, 2/1, 2/2 and 3.
Expression evaluation]
All expressions, active or passive, are evaluated, thus blurring the classical distinction between "data" and "processes".
Constructive expressions are evaluated immediately, unless explicitly stated otherwise by the "no evaluation" operator (°), which introduces a deferred evaluation mechanism. Examples:
(x = 3)
(y = 4)
x*y // ev. 12
(z = (x+y)º) // ev. (z = x+y)
(x = 3)
(y = 4)
z // ev. 7
A constructive expression can be evaluated in whole or in part. Example:
(x = 2)
(x+y+z) // ev. 2+y+z
If it cannot evaluate, the expression evaluates itself, e.g.:
a+b+c // is self-evaluating.
Descriptive expressions are not evaluated unless:
Evaluation is forced by the ! (Execute) operation:
( 1...5 ) // rep. 12345
( 1...5 )! // ev. 12345
Are needed, in whole or in part. For example:
( 12...99 )\5
indicates accessing the component of order number 5 of the sequence (12 13 14 ... 99), i.e. 16.
Remarks:
The term "evaluation" is generic and is synonymous with "computation".
The term "execution" refers to the evaluation of expressions that return a result. Execution is thus a type of evaluation.
Evaluation priority of expressions
The evaluation of expressions is always performed in a top-down hierarchical manner, i.e., cascading or top-down (top-down). It could not be otherwise: the superior prevails over the inferior. First, an attempt is made to evaluate the most external expressions. If they cannot be evaluated, then we go down by evaluating the internal ones. At each level, expressions are evaluated from left to right, unless the inverse evaluation operator (~) is used.
Examples:
(a=1 b=2)
(ab° = x) // ev. (ab = x)
(ab = 3) // ev. (x = 3) ( does not evaluate to (12 = 3) )
(a=1 b=2)
((a+b)° = x) // ev. (a+b = x)
a+b // ev. x (does not evaluate to 3)
(2^3^4^5)~ // ev. ((((5^4)^3)^2)
The inversion operator, the outermost one, is applied first.
(f!)★3 // rep. (f! f! f! f! f!)
The repeat operator, the outermost one, is applied first.
+⊣(a b*c d) // rep. (a + b*c + d)
]
The interleaving operator, the outermost one, is applied first.
In this case we have two descriptive operators (distribution and repetition).
3*a+2*b is interpreted as (3*a + 2)*b
If you want it to be interpreted as (3*a + 2*b) you have to insert white separators.
The evaluation time sequence. The abstract or computational time
The top-down hierarchical evaluation process is performed automatically.
Example:
(u = 88)
(v = 99)
(a = (1 u)↓)
(b = (2 v)↓)
(x = (a b))
x // ev. (1 88 2 99)
This evaluation process can be broken down linearly over time. Time that we call "computational" and that corresponds to the different stages of the evaluation process:
Comp. time
Expression
Semantics
0
x
Initial expression
1
(a b)
First evaluation level
2
(1 u 2 v)
Second evaluation level
3
(1 88 2 99)
Final expression
The evaluation tree is traversed in breadth, not depth, i.e., at each level all substitutions are performed before moving to the next level.
If it had been evaluated by traversing the tree in depth, the temporal sequence of evaluation would have been longer in computational time:
Comp. time
Expression
0
x
1
(a b)
2
(1 u b)
3
(1 88 b)
4
(1 88 2 v)
5
(1 88 2 99)
Computational time is relative to each expression being evaluated. There is no such thing as absolute computational time.
The physical analogy
An analogy can be drawn between the evaluation/computation process and physical processes:
Computational time.
Already defined above, it corresponds to each of the discrete steps of the evaluation process.
Computational potential.
Every expression has a potential evaluation, which becomes actual when the expression is evaluated. This concept is analogous to potential energy in physics that can be converted into real energy (motion).
Computational path.
It is the sequence corresponding to all the steps of the evaluation process.
Computational gravity.
During the evaluation process, an expression is attracted to its final expression.
Computational speed.
It is the difference between two successive stages. Computational speedup would be the difference between two successive velocities, and so on.