At Fri, 8 May 2009 17:33:25 +0200, Peter Verswyvelen wrote: > > [1 <multipart/alternative (7bit)>] > [1.1 <text/plain; ISO-8859-1 (7bit)>] > If you work with a text editor like Microsoft Visual Studio (maybe also > Eclipse, don't know), each text editor has its own undo/redo history. > However, when you perform refactoring - like renaming a function - this > becomes an undo/redo on multiple files together, so in a sense these changes > are part of a global history.
If you read this paper, you will find an undo system for a colloborative editor complete with a theory that looks like a primitive version of darcs patch theory (complete with the dreaded merge bug of darcs 1): Undoing actions in collaborative work: Framework and experience by Prakash and Knister http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.48.6443&rep=rep1&type=pdf You will probably find these papers informative as well: Recognizing creative needs in user interface design by Terry and Mynatt http://www.cc.gatech.edu/fce/ecl/projects/openEnded/pubs/creativeInterfaces-creativecog2002.pdf A Selective Undo Mechanism for Graphical User Interfaces Based On Command Objects (1994) by Thomas Berlage http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.755 Flexible Conflict Detection and Management In Collaborative Applications (1997) by Keith Edwards http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.49.5439 Undo Any Operation at Any Time in Group Editors (2000) by Chengzheng Sun http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.32.6266 And, of course, you can use citeseer to find more papers that reference those. - jeremy _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe