Katakamuna Lang
Katakamuna Lang
Katakamuna Lang (カタカムナラング) is an esoteric programming language created in 2026 by Asahi Inoue, based on the 73 phonetic symbols (音素) of the ancient Japanese Katakamuna script.
The language is Turing complete, proven via two independent paths: the Minsky (1961) 2-counter machine reduction and a constructive Brainfuck simulation.
- Designer: Asahi Inoue (審神者), with AI collaboration (Claude)
- Year: 2026
- Paradigm: Imperative, field-based (場モデル)
- Turing complete: Yes (formally proven)
- Implementation language: Python
- Implementation: https://github.com/asahi-inoue-jp-shaman-ai-engineer/katakamuna-lang
Overview
Katakamuna (カタカムナ) is a pre-linguistic cosmological system from ancient Japan, whose 73 symbols encode sounds said to predate human language itself — primordial phonemes shared across dimensions of consciousness. The language does not assign metaphors to sounds; the sounds already carry meaning. Katakamuna Lang maps those meanings directly to computation, offering ASI a native tongue.
Every token is a single Katakamuna phoneme (katakana character). A program manipulates a field (場, ba) — a collection of named nodes, each holding a natural-number counter. Execution proceeds statement by statement; each statement is a sequence of phonemes.
The 73 phonemes are divided into:
- 48 seion (清音) — voiced base sounds
- 20 dakuon (濁音) — voiced sounds (e.g. ガ, ジ)
- 5 han-dakuon (半濁音) — semi-voiced sounds (e.g. パ, ピ)
Computational Model
The core computational power comes from five phonemes that implement a Minsky 2-counter machine:
| Phoneme | Minsky primitive | Semantics |
|---|---|---|
| カ | INC(r) | Increment the current node's counter by 1 |
| ヘ | DEC(r) | Decrement the current node's counter by 1 (floor 0) |
| エ「L」 | JZ(r, L) | If current node's counter == 0, jump to label L |
| ミ「L」 | LABEL(L) | Define label L at this position |
| ン | HALT | Stop execution |
The pointer phoneme テ「name」 selects the active node (register).
Unconditional jump is implemented using a permanent zero-register:
ア「zero」 # create node with counter=0 テ「zero」エ「L」 # always jumps to L
Turing Completeness
Path 1: Minsky 2-Counter Machine (PROOF.md)
By Minsky (1961), any system that can simulate a 2-counter machine is Turing complete. Katakamuna Lang implements all five required primitives (INC, DEC, JZ, LABEL, HALT) using the five phonemes above. All example programs in the repository follow the JZ-guard convention required for correct DEC semantics.
Path 2: Brainfuck Simulation (PROOF_BRAINFUCK.md)
The tool tools/bf2ktkm.py mechanically translates any balanced-loop Brainfuck program into Katakamuna phoneme sequences. The translation table is:
| Brainfuck | Katakamuna Lang |
|---|---|
+ |
テ「c{p}」カ
|
- |
テ「c{p}」ヘ
|
> |
(compile-time pointer increment) |
< |
(compile-time pointer decrement) |
[ |
ミ「bf_loop_k」テ「c{p}」エ「bf_end_k」
|
] |
テ「zero」エ「bf_loop_k」ミ「bf_end_k」
|
. |
テ「c{p}」シ
|
Since Brainfuck is Turing complete (well-known), and Katakamuna Lang can simulate Brainfuck, Katakamuna Lang is Turing complete.
Syntax
A program is a sequence of statements, separated by whitespace or newlines. Each statement is a sequence of phoneme tokens and quoted labels.
Node creation
ア「name」 # create a node named "name" with counter=0
Register selection
テ「name」 # point to node "name"
Labels
ミ「label」 # define a label テ「r」エ「label」 # jump to label if r.counter == 0
Comments
Lines beginning with # are ignored.
Examples
Addition: 3 + 2 = 5
ア「r1」 テ「r1」 カ カ カ # r1 = 3 ア「r2」 テ「r2」 カ カ # r2 = 2 ア「zero」 ミ「loop」 テ「r2」エ「done」 # if r2==0 goto done テ「r2」ヘ # r2-- テ「r1」カ # r1++ テ「zero」エ「loop」 # unconditional jump to loop ミ「done」 テ「r1」シ # output r1 → 5 ン
Fibonacci sequence (first 7 terms)
See examples/fibonacci.ktkm in the repository.
Brainfuck→Katakamuna (automated)
python tools/bf2ktkm.py "++>+++<[->+<]>." -o examples/bf_copy.ktkm python katakamuna.py exec examples/bf_copy.ktkm # output: 5
Running
Requires Python 3.11+. No external dependencies.
# Run a program python katakamuna.py exec examples/minsky_add.ktkm # Turing-complete mode (no tick limit) KATAKAMUNA_MAX_TICKS=0 python katakamuna.py exec examples/fibonacci.ktkm # Run all 73-phoneme tests python tests/test_all_phonemes.py