Animated Pictures for Slide Presentations (Functional Pearl): From the Shallows to the Depths of a Domain-Specific Language
Another DSL for pictures? Seems fishy. But hold fast as we chart a course to an especially expressive embedded DSL for the domain of slide presentations with sophisticated animations. Our DSL programs interact with the host language in two ways: by allowing pictures and animations to be built using host-language functions (resembling a shallow embedding), and by allowing host-language reflection on their construction (resembling a deep embedding). As a result, users can conveniently inspect, adjust, and reassemble animations that are written using their own animation combinators. To demonstrate our DSL’s expressive power, we show how it supports a Keynote-like Magic Move operation.
Having made the DSL shipshape, we dive into a lesson learned about deep and shallow DSL design. While deep and shallow may seem like mutually exclusive options, we argue they are actually points on an entire spectrum of possible DSL designs. More importantly, our paper demonstrates that points on the spectrum between deep and shallow are where DSL designs achieve full sail.
Wed 26 AugDisplayed time zone: Eastern Time (US & Canada) change
13:30 - 14:45 | |||
13:30 18mTalk | Bimodels and Biorthogonality for Abstract Machines ICFP Papers DOI | ||
13:48 18mTalk | Let It Be Optimized: Building Multi-Stage Evaluators with Let-Insertion and Optimizations in Small Pieces (Functional Pearl) ICFP Papers DOI | ||
14:07 18mTalk | Animated Pictures for Slide Presentations (Functional Pearl): From the Shallows to the Depths of a Domain-Specific Language ICFP Papers Oliver Flatt University of Washington, Robert Bruce Findler Northwestern University, Matthew Flatt University of Utah DOI | ||
14:26 18mTalk | Unscanning by Möbius Inversion (Functional Pearl)Remote ICFP Papers Keisuke Nakano Tohoku University DOI | ||