[Haskell-cafe] Darcs as undo/redo system?

Jeremy Shaw jeremy at n-heptane.com
Fri May 8 15:35:51 EDT 2009


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


More information about the Haskell-Cafe mailing list