71
andcopychanges.Theessentialcasesaretheinteractionsofmoveandcopywithbothpoint
andrangelocationsofeffect.AswesawinSection3.3,pointsonlydesignatelocations
wherenewdataisinserted,butrangescanhavetwopossibleeffects:tocopydata,ortode-
leteitfromitscontextofoccurrence(arangecanbothcopydata,anddeleteit,asinmove,
butweneednotconsiderthisseparately).
Forthecopyoperation,wehavealreadyseenthatanychangemayneedtoberecorded
ateitherthesourceorthedestinationofacopyoperation,becauseacopyessentiallycre-
atestwoseparate(butcoupled)instancesofsomecommondata;eachinstancemayneedto
beedited.Therefore,forcopyoperations,allsortsofaddressesaresensibleatbothsource
andtarget.
3.4.2a Addressinginthepresenceofmove
Thecaseofmoveisratherdifferent,sinceitisrarelysensibletomakechangesata
move’sdestinationratherthanitssource.Suchchangesareconditional,becausetheycan
applyonlywhenthemoveisactive.Suchconditionaloperationsarenotgenerallyuseful,
since,foramoveoperation,whetheractiveornot,therewillbeonlyonecopyofthemoved
data;change-completenessisenhancedwhenchangestothatdatacancombinewithother
changeswithmaximalfreedom,inotherwords:regardlessofwhetherthedatawasmoved.
Formove,thetypicalapplicationwillprobablywanttodeterminetheoriginallocationsof
thedataandrecordthechangesdirectlyatthoselocations.Ifcopydidnotrequireessen-
tiallythesamemachinerytohandleseparatemodificationstooriginals,andcopies,the
moveoperation’sinteractionswouldnotprovidesufficientwarrantforit.
Forinsertionpointsinamove,theforgoingargumentisessentiallyairtight.Recording
insertionsatthedestinationofthemoveratherthanatthesource,onlyhastheeffectof
limitingapplicationanduserchoices,notenhancingthem.Theeffectofrecordinganinser-
tionatthedestinationofamoveisessentiallytocoupletheinsertiontothemove,sothat
itseffectwilloccuronlyinstatesthatincludethemoveoperation.However,thisonlyim-
72
pairsthedegreeofchange-completenessofasystem,sinceitintroducesadatadependency
thatblockspotentiallysensiblemergeresults.Furthermore,anyapplicationneedingsucha
“move-conditionalinsertion”couldalsoachievethesameeffectbyrecordingtheinsertionat
thesourceofthemoveoperationandsimplyavoidingtheselectionofstatesthatinclude
themovebutdonotincludetheinsertioninquestion.Therefore,weshallnotrequirethat
insertiontargetsbeabletospecifypointswithinmovedestinations.
Forranges,thingsareabitmorecomplicated.Sinceacontiguoussequenceinasequence
containingmoveoperationsmaycontainanarbitrarynumberoforiginalsourceranges,there
may,intheworstcase,bem+1placeswhereanoperationmustberecorded,inasequence
containingmmoveoperations.Thisimpliesthatasingleconceptualrange,carriedbackto
thesourceofallmovesthatmighthavetheirdestinationswithinthatrange,couldfragment
intoanarbitrarynumberofranges.Doingthisimplieseitherthattherepresentationofop-
erationsmustbecomemorecomplex(torepresentdiscontiguousregionsofeffect),orthat
singleapplicationoperationsmustberepresentedassetsofsimplerones.Thislookslikea
potentiallyexpensivechoiceintermsofrepresentationalcomplexityandthestoragecostof
animplementation.InLiteraryMachines(Nelson1987),thiskindoffragmentationwascon-
sideredforlinkanchors(linkendsasNelsoncalledthem).Thisproblemisinherentinany
attempttotracetheresultsofmoveoperationsbacktotheirorigins,sinceanysubsequence
inaparticularversionmaybetheresultofmultiplemoveoperationsfromdifferentsources.
However,storingrangesinfragmentedformattheirultimateoriginsdoesnotseemlikea
goodideaforotherreasons.Inanycasewheresplittingwouldoccurtheremustbemore
thanonemoveoperationinvolved.Andinexactlythesecases,thecontextoftherangeit-
selfisdeterminedbythemoveoperationswhosedestinationtherangeisaffecting,includ-
ing,quiteimportantly,therelativeorderofthevariousfragmentsthatconstitutetherange
inquestion.Particularlyinthecaseofacopyrange,theideaofseparatelyassemblingthe
sourcefromdisconnectedpiecesisnotobviouslyusefulforanything.Evenforadeletion
Previous Page Next Page