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.
Highlights
Tue 12 MarDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
08:30 - 09:30 | |||
08:30 60mKeynote | Verona: Ownership, Value Independence, Memory Management, and the Future of MutationVIMPL VIMPL Ellen Arvidsson Uppsala University |
10:00 - 12:00 | |||
10:00 60mKeynote | Lightweight Affine Types for Safe Concurrency in ScalaVIMPL VIMPL Link to publication | ||
11:00 30mPaper | A Formal Foundation of Reach CapabilitiesVIMPL VIMPL | ||
11:30 30mTalk | Tinyrossa: a compiler framework for vertical, verified construction of Smalltalk VMs MoreVMs |
13:00 - 15:00 | |||
13:00 60mTalk | Virtual Machines: should we keep doing them?MoreVMs Invited Talk MoreVMs Javier Pimás Universidad de Buenos Aires | ||
14:00 30mTalk | BoaSpect: An Expressive Instrumentation Platform for JavaScript MoreVMs Aäron Munsters Vrije Universiteit Brussel, Elisa Gonzalez Boix Vrije Universiteit Brussel, Angel Luis Scull Pupo Sofware Languages Lab, Vrije Universiteit Brussel | ||
14:30 30mTalk | A Virtual Machine for Higher-Order Reactors MoreVMs Bjarno Oeyen Vrije Universiteit Brussel, Jens Nicolay Vrije Universiteit Brussel, Wolfgang De Meuter Vrije Universiteit Brussel |
15:30 - 16:30 | |||
15:30 60mTalk | Retro-fitting Garbage Collection into RustMoreVMs Invited Talk MoreVMs Jacob Hughes King's College London |
Accepted Papers
Title | |
---|---|
A Formal Foundation of Reach CapabilitiesVIMPL VIMPL |
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;
- Inclusion of value types in reference-oriented languages (e.g., Java, Python, or Javascript);
- 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: \documentclass[sigconf,screen]{acmart}
.
Papers should be submitted no later than January 22th 2024.