← Latest papers
💻 computer science

Expressivity of AuDaLa: Turing Completeness and Possible Extensions

This paper establishes the Turing completeness of the data autonomous programming language AuDaLa by implementing and verifying Turing machines, while also proposing extensions to enhance its practical expressivity and alignment with conventional parallel languages.

Original authors: Tom T. P. Franken, Thomas Neele

Published 2026-04-16
📖 5 min read🧠 Deep dive

Original authors: Tom T. P. Franken, Thomas Neele

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

The Big Picture: A New Way to Run a Computer

Imagine you are running a massive kitchen.

  • The Old Way (Traditional Programming): You are the Head Chef. You have to shout orders to every single cook (thread) in the kitchen. "You, chop the onions! You, stir the pot!" You manage who does what, when they do it, and make sure they don't bump into each other. It's chaotic, and if you forget to tell someone to stop, the kitchen gets messy.
  • The AuDaLa Way: In this new kitchen, every single ingredient is alive. The onion knows it needs to be chopped. The potato knows it needs to be peeled. They don't wait for the chef to tell them; they just do their job autonomously. If an onion is next to a potato, they talk to each other directly. The "Head Chef" (the computer's processor) just steps back and lets the ingredients organize themselves.

This paper asks a very important question: Is this "self-organizing ingredient" kitchen powerful enough to do anything a normal computer can do?

Part 1: The Proof (Can it do everything?)

To answer this, the authors built a Turing Machine inside AuDaLa.

  • What is a Turing Machine? Think of it as the "Gold Standard" of computing. It's a theoretical robot with an infinite strip of paper (tape) and a pen. If a language can simulate this robot, it can calculate anything that is mathematically possible to calculate. It's the ultimate test of "smartness."
  • The Challenge: The Turing Machine robot is very rigid. It moves left, moves right, reads a symbol, writes a symbol, and changes its mood (state). It's a very sequential, step-by-step process. AuDaLa, however, is designed for everything happening at once (parallelism).
  • The Solution: The authors showed how to build this robot using AuDaLa's "living ingredients."
    • They created a "Tape Cell" ingredient that holds a number and knows its left and right neighbors.
    • They created a "Control" ingredient that acts as the robot's brain.
    • They set up a rule (a "Fixpoint Loop") where the Control ingredient keeps checking the tape, moving the pen, and changing numbers until the robot decides to stop.

The Result: They proved that AuDaLa can perfectly mimic this robot. Therefore, AuDaLa is "Turing Complete." It is not a toy; it is a fully capable, general-purpose programming language. It can solve any problem a standard computer can solve, just in a different way.

Part 2: Making it Practical (The "Extensions")

While proving AuDaLa is powerful is great, the authors realized it might be a bit too rigid for real-world use. It's like having a kitchen where every ingredient is alive, but you can't easily count how many times you stirred the pot, or grab a whole row of carrots at once.

To make AuDaLa more useful for humans, they proposed three "upgrades":

1. The "Specific Goal" Loop (Parameter-Specific Fixpoints)

  • The Problem: Currently, AuDaLa's loops only stop when everything in the system is perfectly stable. Imagine trying to count how many times you stir a pot. Every time you stir, the "stir count" changes. Because the count changed, the system thinks "Hey, something changed! We aren't stable yet!" and keeps looping forever, never stopping to tell you the final count.
  • The Fix: They proposed a "Specific Goal" loop. You can tell the system: "Keep looping until the pot is stable, but ignore the stir count." This allows the program to finish its job and give you an answer without getting stuck in an infinite loop.

2. The "No-Stop" Relay (Iterators)

  • The Problem: In AuDaLa, ingredients usually have to wait for everyone else to finish their task before they start the next one. It's like a relay race where every runner must wait for the entire team to finish their lap before the next leg starts. This is safe, but slow.
  • The Fix: They proposed "Iterators." This is like a relay race where runners just keep running their laps as fast as they can. As soon as one runner finishes, they immediately start the next lap. They don't wait for the slowest runner. This makes the program much faster, though it requires a bit more care to ensure the ingredients don't get confused.

3. The "Magic Shelf" (Arrays)

  • The Problem: Right now, if you want to store a list of 100 items in AuDaLa, you have to build 100 separate "ingredient" boxes and link them together one by one. It's like building a chain of 100 paperclips to hold a list. It works, but it's clunky.
  • The Fix: They proposed adding "Arrays." Think of this as a magic shelf with numbered slots. Instead of building 100 boxes, you just grab a shelf and say, "I need slots 1 through 100." You can jump straight to slot #50 instantly. This makes the code much shorter and easier to read, similar to how we use lists in Excel or Python.

The Conclusion

The paper concludes that AuDaLa is a serious, powerful language. It isn't just a niche tool; it can do the heavy lifting of any computer.

However, to make it a language that regular programmers would actually want to use every day, it needs these small tweaks (better loops, faster running, and easier lists). The authors argue that with these changes, AuDaLa could become a fantastic tool for the future of parallel computing, where data manages itself, freeing humans from the headache of micromanaging every single thread.

In a nutshell: AuDaLa is a kitchen where the food cooks itself. The authors proved it can cook a 5-star meal (Turing Complete) and suggested adding a few better knives and timers (Extensions) so the chefs can work even faster.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →