A Language-Based Version Control System for Python
We extend prior work, on a language-based approach to versioned software development, to add support for versioned programs with mutable state and evolving method interfaces.
Unlike the traditional approach of mainstream version control systems, where each evolution step is represented by a textual diff, we treat versions as programming elements.
Each evolution step, merge operation, and version relationship, is represented explicitly in code. This provides static guarantees for safe code reuse from previous versions, as well as forward and backwards compatibility between versions, allowing clients to use newly introduced code without needing to manually refactor their program.
By lifting the versioning to the language level, we pave the way for tools that interact with software repositories to have more insight regarding the evolution of a system’s behaviour.
We instantiate our work in the Python programming language and demonstrate its applicability in regards to common evolution and refactoring patterns found in different versions of popular Python packages.
Tue 17 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:30 - 12:00 | |||
10:30 15mTalk | Defining Name Accessibility using Scope Graphs Technical Papers Link to publication Pre-print | ||
10:45 15mTalk | Rose: Composable Autodiff for the Interactive Web Technical Papers Sam Estep Carnegie Mellon University, Wode Ni Carnegie Mellon University, Raven Rothkopf Barnard College, Joshua Sunshine Carnegie Mellon University | ||
11:00 15mTalk | Failure Transparency in Stateful Dataflow Systems Technical Papers Aleksey Veresov KTH Royal Institute of Technology, Jonas Spenger KTH Royal Institute of Technology, Paris Carbone KTH Royal Institute of Technology, Philipp Haller KTH Royal Institute of Technology DOI Pre-print Media Attached File Attached | ||
11:15 15mTalk | Fair join pattern matching for actors Technical Papers Philipp Haller KTH Royal Institute of Technology, Ayman Hussein Technical University of Denmark, Hernan Melgratti University of Buenos Aires, Argentina, Alceste Scalas Technical University of Denmark, Emilio Tuosto Gran Sasso Science Institute, L'Aquila, Italy DOI | ||
11:30 15mTalk | Constrictor: Immutability as a Design Concept Technical Papers DOI Pre-print | ||
11:45 15mTalk | A Language-Based Version Control System for Python Technical Papers Luís Carvalho NOVA School of Science and Technology, João Costa Seco NOVA-LINCS; Nova University of Lisbon |