Araara ċa — Alungo
This is the eleventh in a series of expository blog posts on Araara. The preceding post combined Asoho and Akurto to form Apeundeku. We will now combine two other ingredients: Attic and Akurto.
Akurto can already express integers of any size. But its alphabet has a largest positive letter, w, with value 88,574. Beyond that, we can keep repeating it. What if we would like the sequence of letter values itself to continue?

Another level
Recall how we obtained the positive values: start with one, then repeatedly multiply by three and subtract one. We paired each positive value with its negative.
After w, we can apply the same rule again:
3 × 88,574 − 1 = 265,721
We have run out of new letters, but we can reuse the alphabet at another level. An Attic term tells us the level, followed by an Akurto component written in lowercase. We will call this type Alungo.
The Greek zero sign marks level zero; the Attic numeral for one marks level one:
| Alungo | Value |
|---|---|
| 𐆊o | 0 |
| 𐆊a | 1 |
| 𐆊w | 88,574 |
| Ιa | 265,721 |
| Ιb | 797,162 |
| Ιc | 2,391,485 |
At level zero, the letters have their familiar Akurto values. At level one, we start with a again, continuing the recurrence after level zero’s w. After level one’s w, level two’s a continues it once more.
The negative letters remain paired with their positive partners. At every level, o contributes zero.
Two components
Each block consists of an Attic level followed by an Akurto component. The Attic part is a label: we do not add its numerical value to the lowercase letters.
For example:
ΙΙΙcba
The initial Attic term specifies level three. The lowercase letters then contribute the values of c, b, and a at that level.
Several letters can share one level label. To begin a block at another level, we write another Attic term:
ΙΙΙcbaΙΙz𐆊g
This expression has contributions at levels three, two, and zero. The label at the start of each block determines the values of its lowercase letters.
Concatenation adds the contributions, just as before. Each block retains its own level label.
Alungo normal form
We use the same normal-form procedure as in Akurto, now with the extended letter values. For a positive integer, repeatedly take the largest positive contribution that fits the remainder, subtract it, and continue. For a negative integer, do this for its absolute value and replace each lowercase letter with its dual.
Group the resulting letters by level, writing each level label only once. The levels run from largest to smallest, and within each level the letters run from largest assigned magnitude to smallest. Write every Attic label in Attic normal form.
Within each block, use the letter values at that level when normalising. For example:
Ιaa = 2 × 265,721 = 531,442
Ιb = 797,162
At level zero, two copies of a have the same value as b. At level one, they do not: the recurrence continues, so we use the values belonging to that level.
Omit any level whose component contributes zero. Zero itself has normal form 𐆊o. Here are a few more examples:
𐆊ww = 177,148
Ιa𐆊a = 265,722
Ιe𐆊e = −265,722
In Ιa𐆊a, the first block contributes 265,721 and the second contributes one. The larger contribution comes first, with the remaining detail after it.
Unicode normal form
We can use Unicode normal form in Alungo too. Start with the code point in Alungo normal form, then insert ui immediately after its first Attic level label.
For example, uppercase ‘A’ has code point 65:
𐆊uifdcc = 65
The initial Attic label gives the highest level. At that level, u and i cancel, so inserting them preserves the value. The remaining letters and level labels stay as they were in normal form.
The inserted ui marks the beginning of each numeral’s lowercase component. A nonnegative code point’s normal form contains no negative letters, so this pair distinguishes the beginning when we concatenate encoded code points to write strings.
Exercises
- What values do Ιe, Ιp, and Ιa𐆊b represent?
- Write the normal forms of 88,575, 265,723, and −531,442.
- What value does Ιbb have? Compare it with Ιc.
We still have addition by concatenation. The new ingredient is a level: Attic lets us keep extending the same letter-value recurrence, while writing the largest contributions first.
In the next post, we will introduce variables with Apar.