has come up with a version of LISP
that is reversible on conventional computers. That is to say, you can stop a program at any point, and rewind it back to an earlier point. This is useful for debugging, and has theoretical interest due to physics being reversible at the lowest levels.
In the implementation, enough information to rewind each calculation is kept, where this is needed. Many operations are inherently reversible, for example addition may be reversed by using subtraction. This buffer generally grows in size over the course of a calculation; although can be garbage collected.
In fact, Henry claims that Garbage Collection is logically connected to reversible computation- reversing a calculation is thermodynamically equivalent to performing garbage collection.