A mathematical model of character string manipulation
Sakti K. Pramanik · 1980
Every insert and delete operation on a string of characters causes it to expand or contract in memory. If on the other hand, these commands are saved, the character string can be updated at the end of the editing session. The advantage of doing this is to move any character at the most once in memory. This is possible because the final position of a character in the string can be determined from the saved edit functions. In Figure 1 below it is shown that a "Delete character in position 3" and then an "Insert a character X before the 3rd character position" can be combined into a single edit function, "Replace the character in position 3 by the character X."