104
• The reason for a semantic or syntactic conflict can be precisely determined by examining
the changes in question for conflicting addresses, overlapping operations caused by a
merge, missing changes, and other actual or potential problems.
• The detailed history of a subsequence of a document can be determined. The addresses of
a particular region reveal what insertions created each item, what moves have changed
its position and what copy operations were applied to it. Finding other operations that
affect that region allows the determination of what might have been in the region but
was deleted or moved elsewhere.
• The management of persistent offsets and regions in a sequence is greatly facilitated,
even across radical changes and rearrangements. Because the address space in a Palimp-
sest sequence is stable, ranges can be stored and their contents located later even as the
sequence changes.
The use of set operations on deltas in change sets is common for change-oriented sys-
tems, although many of the same effects can be achieved in systems that are not strictly
change-oriented. Goldstein and Bobrow’s PIE (Goldstein and Bobrow 1984)system took ad-
vantage of the fact that software is composed of many independent units, each with their
own histories, to create a more flexible way of combining changes. Since they were working
within an integrated Smalltalk development environment, they were able to track changes to
individual methods, rather than to source files. PIE was working at a finer level of granular-
ity than the typical large software project; the objects whose editing histories being tracked
were significantly more independent, providing interesting options for version selection.
They grouped the logical changes (which were updated object methods), into independently
combinable contexts, or layers. Later work on the management of evolving hypertexts
(Campbell and Goodman 1987; Delisle and Schwartz 1987) modified and generalized the no-
tion of contexts and introduced additional management functions to better support asyn-
chronous collaboration.
• The reason for a semantic or syntactic conflict can be precisely determined by examining
the changes in question for conflicting addresses, overlapping operations caused by a
merge, missing changes, and other actual or potential problems.
• The detailed history of a subsequence of a document can be determined. The addresses of
a particular region reveal what insertions created each item, what moves have changed
its position and what copy operations were applied to it. Finding other operations that
affect that region allows the determination of what might have been in the region but
was deleted or moved elsewhere.
• The management of persistent offsets and regions in a sequence is greatly facilitated,
even across radical changes and rearrangements. Because the address space in a Palimp-
sest sequence is stable, ranges can be stored and their contents located later even as the
sequence changes.
The use of set operations on deltas in change sets is common for change-oriented sys-
tems, although many of the same effects can be achieved in systems that are not strictly
change-oriented. Goldstein and Bobrow’s PIE (Goldstein and Bobrow 1984)system took ad-
vantage of the fact that software is composed of many independent units, each with their
own histories, to create a more flexible way of combining changes. Since they were working
within an integrated Smalltalk development environment, they were able to track changes to
individual methods, rather than to source files. PIE was working at a finer level of granular-
ity than the typical large software project; the objects whose editing histories being tracked
were significantly more independent, providing interesting options for version selection.
They grouped the logical changes (which were updated object methods), into independently
combinable contexts, or layers. Later work on the management of evolving hypertexts
(Campbell and Goodman 1987; Delisle and Schwartz 1987) modified and generalized the no-
tion of contexts and introduced additional management functions to better support asyn-
chronous collaboration.