Mon 21 Oct 2024 12:00 - 12:30 at IBR East - Software Language Design and Implementation II Chair(s): Jeff Smits

Performance-critical systems commonly optimize memory use and locality by selecting among multiple variants of a single logical operation. For example, when an argument would otherwise no longer be used, a program may use an algorithm mutating that argument in place. Algorithm developers then typically rely on ad-hoc API patterns or naming conventions to distinguish the variants. Unfortunately, this practice suffers from poor ergonomics. Users are compelled to understand the conventions and carefully consider the signatures and documentation of different variants, which creates drag on development and maintenance.

Instead, we propose a language construct bundling algorithm variants having well-defined semantic relationships under a single name. This approach eliminates boilerplate and cognitive overhead for the user by consolidating APIs, and allows the compiler to automatically select the most efficient variant for a given context.

Mon 21 Oct

Displayed time zone: Pacific Time (US & Canada) change

11:00 - 12:30
Software Language Design and Implementation IISLE at IBR East
Chair(s): Jeff Smits Delft University of Technology
11:00
30m
Talk
Type Checking with Rewriting Rules
SLE
Dimi Racordon EPFL, LAMP
DOI
11:30
30m
Talk
Trieste: A C++ DSL for Flexible Tree Rewriting (Tool paper)
SLE
Sylvan Clebsch Microsoft Azure Research, Matilda Blomqvist Uppsala University, Elias Castegren Uppsala University, Matthew Johnson Azure Research, Microsoft, Matthew J. Parkinson Microsoft Azure Research
DOI
12:00
30m
Talk
Method Bundles (New Ideas/Vision paper)
SLE
Dimi Racordon EPFL, LAMP, Dave Abrahams Adobe
DOI