Email or username:

Password:

Forgot your password?
Top-level
Devine Lu Linvega

So my idea now is, is there a way to reduce this loss of entropy somewhat. A run of the standard hello world losses 124 bytes of information that are needed to be reversible.

The simple option would be to have a 3rd stack where I stash all this wasted information, but first I think it might be possible to write reversible programs by-design.

Let's see what we can find

7 comments
WimⓂ️

@neauoire Wow, you move fast ^_^
I am way behind in the replies, I will get back to it when I have more time.
I wonder if it is enough to keep track of the "wasted information" to reverse any computation. In principle that is the case: the idea is that a reversible computation simply performs permutations on the bits.

WimⓂ️

@neauoire In practice, it is not so clear to me, I guess it depends on the definition of "wasted information".
What is also tricky is what happens with recursion, i.e. what is the minimal information required to reverse a recursive computation.

jakintosh

@neauoire (i had finally felt like i hit my “local bottom” for expanding my understanding of computation when i hit transistors and CPU architecture, but now…)

Devine Lu Linvega

@jakintosh I'm sorry/you're welcome. But, I blame Wim here. I just wanted to know how why I couldn't divide by zero, and now here we are.

bx

@neauoire iirc gur pendulum cpu's paper actually describes a "garbage stack" which is pushed to for otherwise dustructive operations and has data pulled back off of it when its being reversed. there's also sets of exchanging operations instead of moving ones, if you have loads and stores happen in pairs so that they balence out you might be able to get a similar benefit

Devine Lu Linvega

@bx yeah, and uxn has the advantage of the keep mode which is non destructive. More more than that, I can probably unliteralize directly from the graveyard if I know the exact value, but in the case of itteration loops, the iterator and boundary are the same value, so that's an enthropy-free operation if I release it after the loop.

Go Up