Version control, collaborative editing and undo

eve, programming, versioning, dvcs, editing, collaborative editing, time

Eve is designed for live programming. As the user makes changes, the compiler is constantly re-compiling code and incrementally updating the views. The compiler is designed to be resilient and will compile and run as much of the code as possible in the face of errors. The structural editor restricts partially edited code to small sections, rather than rendering entire files unparseable. The pointer-free relational data model and the timeless views make it feasible to incrementally compute the state of the program, rather than starting from scratch on each edit. We arrived at this design to support live programming but these properties also help with collaborative editing.

http://incidentalcomplexity.com/2015/04/22/version-control/