Auto-translation used

Article 2: Creating an alphabet of thought. Runes of YAP "?".

This is the second part of our series about the creation of a new Kazakh programming language. In the first article, we talked about the philosophical idea behind it.

So, we stopped at the fact that our language is based not on commands, but on images extracted from the depths of the proto-language. But how do you turn these images into something that a computer can understand? We needed the alphabet.

The first and most obvious way is to use the existing Latin alphabet. It's practical, convenient, and all the tools are ready for it. But this path contradicted our entire philosophy. The Latin alphabet is a legacy of the Roman Empire, which our concept considers as an antagonist of the world of freedom and the proto—language. To use it would be to build a new house on someone else's foundation.

Therefore, we made a bold, difficult, but conceptually clean decision: to create a new runic alphabet from scratch.

It should be not just a set of symbols, but a system where each rune is both a letter, an image, and a concept.

We have already said that we have found a bridge between sacred meaning and binary logic in the Moon/Sun pair. We have put this dualism at the core of our alphabet.:

  • I (Ay) is the moon. The symbol of the passive state, data, information, false. This is the "0" of our system.
  • Q (Kun) — The Sun. The symbol of the active state, action, energy, true. This is the "1" of our system.

This duality permeates everything. Variables (data) and functions (actions), the "off" and "on" states, data and metadata.

The second key was suggested to us by the phonetics of the Kazakh language itself — the law of synharmonism, the harmony of vowels. We have transferred this principle to the type system.:

  • Solid sounds (juan: ah, oh, uh) began to denote specific, significant data types (value types): an integer, a string. Something that has "weight".
  • Soft sounds (zhinishke: a, o, u) began to denote abstract, reference data types: pointers, interfaces. Something that is a "reflection" or "path" to the data.

To visually reflect this, we have created paired runes, where one is a mirror image or a modified reflection of the other.

  • Solid type [a] (Askar — Peak of the mountain) -> Rune A. Symbol of stability.
  • Soft type [æ] (Alem — Universe) -> Rune . The same rune, but reversed. The symbol of "reflection", abstraction.

Based on these principles, we began to crystallize our alphabet, which received the working name "?". Each rune in it is the result of a long search for the perfect image for the fundamental concept of programming.

Here are a few key "words" of our new language:

The RuneKeyword (Meaning)The principle in YAPExplanation
ΛTau (Mountain)Constant (immutability)The symbol of the mountain, inviolability. Something that is established once and for all.
Dala (Steppe)Variable (mutability)A symbol of vastness, a plain where everything can change.
ΠBass (The Beginning, the Gate)Function/File headerThe symbol of the gate or arch through which we enter the new code block.
YSeshim (Solution)Conditional operator (if)The perfect graphics for a fork in the road, choosing one of two paths: the path of the Sun (Q) or the path of the Moon (I).
Ainalym (Cycle, Rotation)The loop operatorAn intuitive symbol for repetition and renewal.
Nothing (Result, Consequence)Returning a value from a functionAn arrow indicating what "follows" from the operation of the function.
Iz (Trace)Data output, loggingThe symbol of a trace, dotted line, or record. Leave a "trace" of the program execution.

As you can see, we are striving for a system where philosophy, phonetics, graphics and logic are a single, inseparable whole. Code in our language is not just text. It is a formula, a pattern, a sacred record where each symbol is in its place and has a deep meaning.

In the next article, we will show how these runic meanings add up to the first "sentences". We will demonstrate the basic syntax of the language and explain how its "brain" works — three "masters" (Lexer, Parser and Executor) who teach the machine to understand our code.

Thank you for staying with us on this journey.

Comments 0

Login to leave a comment