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.
User talk:ImOnlyHereForReversibleComputing
Considering you have interest in reversible computing, what do you think about 3L? --ChuckEsoteric08 (talk) 14:14, 11 October 2026 (UTC)
- I looked into it a little bit when there was some activity around it last month. I was struggling to figure out how to isolate unconditional single side effects. Returning to it today, though, I think I might have been a little too focused on making mirror-symmetric patterns to accommodate the way the programs branch when I was looking into it earlier, as if you make the patterns less symmetrical looking, and encode every logical bit as a sequence of 4 bits, then I think you can isolate some of the basic operations.
- This little subprogram implements a toggle of a 4-bit block without moving the data pointer (assuming that the 4-bit block has a uniform value to begin with):
++
-> }}}} +
+ ->
++
- And, if we then do the toggle-and-right-shift operation 4 times, we get an unconditional right shift without toggling:
++
-> }}}} +
+ }}}} ->
++
- That same internal Z shape can be used by itself to shift the instruction pointer left without changing direction based on the 4-bit block's value.
++
-> +
+ ->
++
- For a little sketch of a Reversible Bitfuck loop, imagine that
>is a stand-in for the above right shift construct, operating on 4-bit blocks at a time, with the appropriate spacing of the below structure to accommodate it. Then we can implement a Reversible Bitfuck loop(abcde)as something like:
++ ++
+ abcde> +
+ +
-> > + + ->
+ > +
++ ++
- If you wanted to avoid having the program gradually drift downwards (which might make writing loops awkward), you could alternate between Z shapes and S shapes, which would be functionally equivalent, but shift the vertical position of the instruction pointer in opposite directions. --ImOnlyHereForReversibleComputing (talk) 15:32, 11 October 2026 (UTC)
It seems that translation wouldn't be that hard as I thought. Few hours ago I tried again and my resulting structures looked similar to yours. --ChuckEsoteric08 (talk) 16:00, 11 October 2026 (UTC)
What helped me is translation I made for 2-ill proof, though 2-ill is not reversible and I would later create a translation of regular brainfuck loops for it. --ChuckEsoteric08 (talk) 17:47, 11 October 2026 (UTC)
If you used 8-bits instead of 4 for each cell it would not drift downwards. --ChuckEsoteric08 (talk) 11:29, 12 October 2026 (UTC)
- Oh, yeah. By just double loop-de-looping? That makes sense. --ImOnlyHereForReversibleComputing (talk) 13:32, 12 October 2026 (UTC)