Aug 2026· Proc. ACM Program. Lang.· Vol 10, pp. 581 - 610· 0 citations· 38 references
Computer Science
TL;DR
This paper demonstrates that points on the spectrum between deep and shallow are where DSL designs achieve full sail and dives into a lesson learned about deep and shallow DSL design.
Abstract
Another DSL for pictures? Seems fishy. But hold fast as we chart a course to an embedded DSL for the domain of slide presentations with 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 define their own animation combinators but still also inspect, adjust, and reassemble animations. 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.
PPTBench establishes a measurable testbed for studying visual coding and advancing agents toward more reliable visual creation, and shows that agents can generally produce valid slide files, but struggle to produce high-quality reconstructions that faithfully recover the semantics and visual structure of the target.
Xiao-Qiu Wang, Yi-Zhe Chi, Wen-Yi Li et al.· 0 citations
This work develops a framework in JavaScript to create a drawing algorithm that draws visual artworks in the style of visionary artist Piet Mondrian and contemporary artist Adam Lister.
Xing Dong, D. Průša, Michael Wehar et al.· Proceedings of the 14th ACM...· 0 citations
Spatial applications compile their content into shipped binaries, so every change costs a build-and-redeploy cycle. We present the VisionBlock system, which splits an application into an engine -- a generic binary with a fixed set of capabilities (render panels, volumes, and immersive scenes; fetch data; run gestures)...
SVG is a mature XML vocabulary for vector graphics, but it has little parametric structure and lacks semantic binding between connectors and the objects they connect. Drawings produced in SVG are often hard to post-process, maintain, or reason about. This paper introduces MVG (Meta Vector Graphics), an extension layer...
S. DeRose· Balisage Series on Markup Te...· 0 citations
We use cookies to run the site and, with your consent, for analytics and to show ads.
See our Cookie Policy.