Actionable Word: Goto’s Venture into Unexplored Programming Realms.

Archil Otar Bolkvadze
6 min readJan 8, 2024

--

Computer programming is a relatively recent field in the realm of science. While it has been largely shaped by the solid principles established in mathematics over thousands of years, there is another side to programming. This side of programming was closed in the year 1968 by Edgar Wybe Dijkstra with his famous paper “Go To Statement Considered Harmful.”

As a result, we have extensively explored one facet of programming, which we can refer to as coding with structured languages. Now is the time to open portals and venture to the other side of programming. To do so, we need to identify the most abstract form of computation, which is the “goto” instruction — an unconditional jump.

Consider this: every instruction from a CPU’s instruction set has a defined point in its micro steps when it initiates implicit “goto.” Isn’t it so? Yes, it is. We can also draw a parallel to morphism from category theory.

Note that CPU instructions do not have structured requirements; they are placed in memory one after another, much like how we humans write sentences on paper. In these terms, the most abstract form of computation is the goto ability to interpret the next word in a sentence. This involves knowing which word we are currently positioned (the context), having the ability to calculate the next word’s position, updating the context, and proceeding to interpret the next word.

We propose the idea of focusing on the word because it is a fundamental unit of composition and communication that we have from the beginning. We propose a language (alanguage) for actionable words (awords) and actionable sentences (asentences).

Paper — Paper is akin to computer memory but can be represented on top of a blockchain or any other method we prefer.

Narrative — A narrative serves as an address of executable computer memory or can be an IP address of a peer, high-order instruction, or any other entity we choose. A narrative encapsulates code, which, in turn, can represent mathematical operators, objects, or anything else we prefer. However, at some point, it must know how to calculate the address of the next aword and how to navigate to that address. To calculate the address, a narrative has context represented by fixed parameters and to goto to that address we need to have elevated goto for our alanguage.

Cell — A cell is a several-byte memory space; in our reference implementation, it is 8 bytes long.

Aword — A aword is a cell or a group of cells on paper that represents a narrative. A sentence is a group of awords written one after another.

Goto — Goto is an abstract form of computation, and simultaneously, we need to elevate it for a concrete alanguage.

Tword — We can have a narrative with the sole responsibility of defining aword, which has been defined with more than one asentence. It is not ordinary in coding; the closest analogy is discriminated unions from math. A more direct analogy will be from CFG grammar, i.e., a variable can have more than one production, but the exact analogy will be human language. It is common to have a heading with several paragraphs defining it, i.e., a name with several definitions.

It is clear we need some new automaton to interpret this kind of alanguage, but it must be built into the protocol. We can observe the fact that we are aiming for something universal.

Let’s take a brief divergence. One of the tenets of UNIX is that everything is a file. We can imagine a file was on the creators' desk when they were envisioning the future. Once again, this was 55 years ago. Let’s look at the nature of real trees, and how they grow and adapt year after year, multiplying their branches. Nature has cycles, operating systems have their preemptive multitasking cycles, and everything with liveness property has its cycle. Similarly, our proposed protocol of aword has its cycle.

Asentence has a special aword at the beginning and a adot at the end. In the context of narratives, there is a direction, and an elevated goto must respect this direction. This implies that execution flows in an asentence loop from beginning to end, and then it turns back to the beginning.

Moreover, execution flows in different colors, i.e., a variable in context defines the color. In narratives, we use colors in a special way to traverse through all possible definitions of asentences, which includes twords.

The most abstract form of multiplication — We assert that an asentence, which includes more than one tword, and each of these twords is defined with more than one asentence, represents the most abstract form of the definition. To interpret it, we need to combine all possible configurations cycle after cycle, and we need to know when we are done with all configurations. This task is accomplished with a twist.

Twist — To twist, we need two colors: Yellow and Green. The execution flow starts at the beginning in Yellow color. When it enters a tword in Yellow color, the logic of the tword directs execution into its defining asentence. Later, it will receive flow in Yellow if the defining asentence was composed with only awords. At this point, in twords’ narrative logic, it checks if it has the next defining asentence. If so, it alters the configuration for the next cycle, sets the next defining asentence as current, and directs the flow to the next aword in Green color. There is an exception when the configuration must reset, i.e., the current defining asentence is the last one; the flow will continue as is (in Yellow color). On the other hand, if the tword receives flow in Green, it directs the flow as is (in Green).

In the first awords narrative, if we receive flow in Green, we initiate a new cycle by turning the flow and changing Green to Yellow color. On the other hand, if we receive flow in Yellow, we can conclude that we have completed all configurations. In this way, we can traverse all possible configurations and interpret each one.

This mechanism of transitioning between Green and Yellow colors provides a systematic way to navigate through the various configurations, ensuring that the interpretation process encompasses all possibilities and can capture the full scope of the defined narratives.

Summary — In summary, the proposed protocol introduces a novel approach to programming languages and computation, utilizing narratives, awords, and asentences as fundamental units. The asentence structure is defined by a special aword at the beginning and a dot at the end, with execution flowing in a loop from start to finish. The use of colors in narratives, controlled by variables in context, allows traversal through diverse definitions, enhancing the flexibility of the system.

The most abstract form of multiplication involves asentences with multiple twords, each defined by more than one asentence. Interpretation involves combining configurations cycle after cycle, facilitated by a “twist” mechanism using Yellow and Green colors. This ensures a comprehensive exploration of all possible configurations.

In the first awords narrative, the transition between Green and Yellow colors signifies the initiation of new cycles and the completion of all configurations. This systematic traversal guarantees the interpretation of each potential scenario.

Implementing and training AI with this scalable protocol promises a tenfold increase in efficiency. By leveraging the structured and versatile nature of the proposed system, AI models can navigate complex configurations more effectively, leading to improved performance and adaptability in various computational tasks.

--

--