www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Novel Undo

Is there a way to integrate a undo/redo system in an already 
existing app without a huge amount of recording to support it? 
I.e., converting to using commands. I'd like to specify what is 
going to be modified and what needs to be done to restore the 
state. Given D's strong meta capabilities, I wonder if much of 
this can be alleviated? A struct that monitors it's own changes 
and possibly designing something using reversible delegates.
Sep 16 2017