Method Bundles (New Ideas/Vision paper)
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 OctDisplayed 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 30mTalk | Type Checking with Rewriting Rules SLE Dimi Racordon EPFL, LAMP DOI | ||
11:30 30mTalk | 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 30mTalk | Method Bundles (New Ideas/Vision paper) SLE DOI |