aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorAnthony Wang2024-03-02 21:02:45 -0500
committerAnthony Wang2024-03-02 21:02:45 -0500
commit97c68488f022ea79feb42e0146e2801179e1a3bf (patch)
treedf7246dc77b67cb71c750e8f3a9d10a5df5c7aaa /README.md
parent494de8e432e4e13f92800600467057c533b6bdd4 (diff)
Loop program until (0, 0) is 0 so that Flip can actually be Turing-completeHEADmaster
Diffstat (limited to 'README.md')
-rw-r--r--README.md2
1 files changed, 1 insertions, 1 deletions
diff --git a/README.md b/README.md
index 9aed280..b6696ec 100644
--- a/README.md
+++ b/README.md
@@ -34,7 +34,7 @@ We think you'll agree that the first version is way more aesthetically pleasing
If you haven't figured it out yet, the Flip program above is [NAND](https://en.wikipedia.org/wiki/NAND_logic#Making_other_gates_by_using_NAND_gates)! Currently, the final line outputs 0, but remove either of the first two lines, and the final output becomes 1. This makes Flip (drumroll please)... Turing complete!
-There's only one catch. Since finite Flip programs are guaranteed to terminate, Turing completeness requires Flip programs to possibly be infinitely long. Good luck!
+Actually, not quite. Since finite Flip programs are guaranteed to terminate, Turing completeness requires Flip programs to be able to loop forever. One way to do this is to repeat the program until the cell `(0, 0)` is 1 at the end of a repetition of the program.
Even better, a Flip interpreter can be trivially implemented in your favorite programming language. See [Flipper](flipper.py) for the official reference implementation written in Python.