The tension between unconstrained mutation and algebraic semantic reasoning has been well known at least since Backus’ 1977 Turing Award paper introducing FP. After decades of bifurcation into communities that either ignored the problem, or addressed it by insisting on strict immutability, the PL field has recently begun to explore more nuanced approaches that emphasize the independence of mutable values.
Value independence upholds the ability to reason locally about semantics, from the variables mentioned alone. This ability is crucial both for human understanding of software developed at scale, and for automated code transformations such as optimization, which are otherwise inhibited by conservative aliasing assumptions.
These benefits are pushing imperative and object-oriented programming languages to adopt mechanisms such as value types (e.g., Java, C#, Swift) and aliasing restrictions (e.g., Rust). On the other side of the spectrum, pure functional programming languages leverage value independence to transform functional patterns into in-place updates (e.g., Koka), in spite of immutability.
This workshop provides a forum for researchers and practitioners to discuss the (re)emergence of value independence as a theme in the user model of programming languages, its use in software applications, its use in compilers and interpreters for optimization, and the challenges related to its interaction with other modern programming language features.
We welcome experience reports on the design and implementation of applications or libraries, as well as research papers describing new approaches to bring or leverage value independence in new or existing programming languages.
This year, are pleased to announce the following Keynote speakers:
Titles and abstracts will be announced shortly.
This program is tentative and subject to change.
Tue 12 MarDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
08:30 - 09:30
|Verona: Ownership, Value Independence, Memory Management, and the Future of MutationVIMPL
Ellen Arvidsson Uppsala University
10:00 - 12:00
|Lightweight Affine Types for Safe Concurrency in ScalaVIMPL
K: Philipp Haller KTH Royal Institute of Technology
|A Formal Foundation of Reach CapabilitiesVIMPL
|Tinyrossa: a compiler framework for vertical, verified construction of Smalltalk VMs
13:00 - 15:00
|Virtual Machines: should we keep doing them?MoreVMs Invited Talk
Javier Pimás Universidad de Buenos Aires
|A Virtual Machine for Higher-Order Reactors
15:30 - 16:30
|Retro-fitting Garbage Collection into RustMoreVMs Invited Talk
Jacob Hughes King's College London
Call for Papers
VIMPL (Value Independence in Modern Programming Languages) intends to welcome a wide range of topics and perspectives relevant to value independence. We will accept three kinds of submissions:
- Research papers (10 pages, excluding references) documenting past or ongoing effort to use and/or leverage value independence in new or existing programming languages.
- Extended abstracts (2 pages) summarizing the design and implementation of applications or libraries centered around value independence.
- Position papers (2 pages) presenting the authors’ opinion on a topic related to the workshop.
Topics of interest include, but are not limited to:
- Programming languages designed to support value independence;
- Aliasing restriction mechanisms designed to support value independence in reference-oriented languages (e.g., ownership and uniqueness);
- Memory representation and garbage collection of value types;
- Optimization strategies based on value independence;
- Empirical studies on the use, usability, and/or performance of mechanisms to promote value independence.
Papers should strictly adhere to the ACM
acmart format v1.87 or newer and be submitted as PDF: https://www.acm.org/publications/proceedings-template. Please use the following LaTeX class configuration:
Papers should be submitted no later than January 22th 2024.