Coding Flagellum

I can remember developing the Flagellum program in a few steps. I had played with some loops that grew the digit mass without limit. This felt like playing with Game of Life: interesting but not purposeful.

I set out to make a loop that would be steady-state by just moving digits around. I stumbled around until I saw the row of digits turn. Step 1. Then steps 2-8 played out quickly in one sitting.

1. Write a loop that duplicates most digits then stops when duplicate fails.

2. Write a loop that erases the now unwanted digits.

3. Connect these two loops so that they alternate.

My Flagellum program could twist the row of digits 45 degrees but had to be modified for the next 45 degrees. So I continued.

4. Modify the loop of loops to work at the new angle.

5. Turn that loop of loops upside down and see that it still works.

6. Place the two versions of loop of loops next to each other.

7. Connect them with dot so that they alternate in a loop of loops of loops.

8. Replace connecting dots with enough data-counter motions to get ready for the next loop.