Automatic and Efficient Variability-Aware Lifting of Functional Programs
summary
Implements a variability-aware extension of a PCF-like functional language (pattern matching, polymorphic lists and pairs) and a Haskell variability library plus a program rewriter; compares shallow lifting (Applicative-style cross-product black box) to deep lifting (rewrite that pushes lifted application into function bodies to share work). Evaluates six analyses on BusyBox (504 C files); shallow beats brute force after ~5 variants, deep beats both after ~30–40 and reaches about 100× speedup at ~900 variants and up to ~1000× at ~3000 variants.
AI-written summary · about
chapters (11)
- 0:00AUTOMATIC AND EFFICIENT VARIABILITY-AWARE LIFTING OF FUNCTIONAL PROGRAMS
- 1:50ANNOTATIVE SPL EXAMPLE - INSTANTIATION
- 3:06PRODUCT LINE ANALYSIS – BRUTE FORCE
- 3:48PRODUCT LINE ANALYSIS – LIFTING INDIVIDUAL ANALYSIS
- 4:56PRODUCT LINE ANALYSIS – LIFTING INTERPRETATION
- 5:42BEYOND DATALOG?
- 6:55LIFTING TYPES AND VALUES
- 8:11LIFTED FUNCTIONS
- 9:37SHALLOW LIFTING
- 10:48DEEP LIFTING
- 12:00EVALUATION - CASE TERMINATION BENCHMARK
related talks
41mEvolving Functional Programming Languages
36mConcrete Functional Programming
45mAPLicative Programming with Naperian Functors
30mModularity, Code Specialization, and Zero-Cost Abstractions for Program Verifica...
30mFP²: Fully in-Place Functional Programming
44mFunctional Programming You Already Know
26mInfinite Possibilities
52mFunctional Patterns for the Object Oriented
