22:25
I've refined my hypercube-based turning tarpit idea a bit. The resulting system covers some corner cases that were not covered by the original idea, but it's also harder to explain. :P
To start, I'll introduce an assembly-like syntax that's easier to read. A program in this syntax is a series of statements, each consisting of a command and a positive integer argument:
The commands are placed on an N-dimensional hypercube with side length 2, as before. (For this example, N = 3.)
Then each statement is encoded into a bitstring in two parts, representing the command and the argument.
For the command part,
0
means "go to next dimension" and 1
means "toggle index of current dimension." This part must either end in a 1
or consist of exactly N 0
s.
Call the argument number A. If the command selection string ended in a
1
, the argument string consists of A 1
s. If the command selection string ended in a
0, the argument string consists of
0` followed by A-1 1
s.
If the current command is
000
, we're on the leftmost dimension, and we want to execute the command 010
with argument 2
, we do 0111
: 01
goes to the next dimension and toggles it, 11
executes with an argument of 2
.
If the current command is
010
, we're on the central dimension, and we want to execute 100
with argument 1
, we do 001011
: go to rightmost dimension, then go to leftmost dimension and toggle, then go to central dimension and toggle, then execute with argument 1
. « first day (1003 days earlier) ← previous day next day → last day (933 days later) »
Transcript for
Jul25
Jul '2227
Aug5
The Tarpit
A room for discussing esolangs and brainstorming new esolang i...