We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

19 edons, 19 octons

From Esolang
Jump to navigation Jump to search
This article is not detailed enough and needs to be expanded. Please help us by adding some more information.
19 edons, 19 octons
Designed by User:Miui
Appeared in 2026
Computational class Unknown
Reference implementation Unimplemented

19 edons, 19 octons is an esoteric programming language whose architecture is based on 19‑EDO (19 equal divisions of the octave). Instead of bits and bytes, it uses edons (single EDO steps) and octons (full 19‑step cycles) as its fundamental units of memory and computation.

Concept

  • Edon – one step of 19‑EDO (modulus 19).
  • Octon – one full 19‑step cycle (the octave), i.e. the complete residue class modulo 19.

Memory and control flow are defined over the multiplicative unit group modulo 19 rather than linear addresses.

Architecture

Memory model

  • Modulus: 19
  • Valid addresses: all integers a with gcd(a, 19) = 1, i.e. 1–18.
  • Memory forms a single cycle generated by multiplication by a primitive root (e.g. 2 mod 19).

Address traversal:

a_{k+1} = 2a_k (mod 19)

Every valid cell is visited exactly once before returning to the start.

The “linear position” of a cell is its discrete logarithm base 2 modulo 19.

Programs are loaded along this cycle: instruction k lives at address:

2^k mod 19

Data units

  • Edon value: integer in [0,18], interpreted as a 19‑EDO pitch step or numeric value.
  • Octon: a full cycle of 19 edons; higher‑level structures (arrays, chords) are defined over octons.

Instruction set (sketch)

Opcodes are defined as interval classes in 19‑EDO:

19‑EDO Instruction Set (Sketch)
Interval (steps) Role Opcode
0 Unison NOP
3 Neutral third ADD
6 Tritone JMP
10 Wide sixth CMP
14 Neutral seventh HALT


Each instruction:

  • lives at a unit‑group address,
  • advances the instruction pointer by multiplication (e.g. IP = 2 * IP mod 19),
  • may modify registers interpreted as chords or pitches.

Execution model

  • Program counter: walks the unit group via multiplication.
  • Registers: represent tonic, dominant, mediant, etc., as edon offsets.
  • Control flow: harmonic motion—interval opcodes move the state through 19‑EDO space.
  • Programs: can be rendered both as numeric dumps and as musical scores in 19‑EDO.

Example (Hello World, concept)

A “Hello World” program in 19 edons, 19 octons:

  • encodes the string as edon values [0..18],
  • loads them along the multiplicative cycle 2^k mod 19,
  • steps through them by doubling the instruction pointer,
  • plays each edon as a 19‑EDO pitch while printing the corresponding character.

See also