Method Bundles
Performance-critical systems commonly optimize memory use and locality by selecting among multiple variants of a single logical operation. 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, reduces cognitive overhead by consolidating APIs, and unlocks compiler optimizations.
Authors
- Dimitri Racordon (ORCID: https://orcid.org/0000-0003-0299-3993)
- Dave Abrahams
Institutions
- Adobe Systems (United States) (US)
- École Polytechnique Fédérale de Lausanne (CH)
Publication Details
- Published
- 2024-10-17
- DOI
- https://doi.org/10.1145/3687997.3695633
- Primary Topic
- Logic, programming, and type systems
- Type
- article
- Field-Weighted Citation Impact
- 0.00
Funders
- National Science Foundation
- Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung