DSLs in Racket: You Want It How, Now?
Domain-Specific Languages (DSLs) are a popular way to simplify and streamline programmatic solutions of commonly occurring yet specialized tasks. While the design of frameworks for implementing DSLs has been a popular topic of study in the research community, significantly less attention has been given to studying how those frameworks end up being used by practitioners and assessing utility of their features for building DSLs “in the wild”. In this paper, we conduct such a study focusing on a particular framework for DSL construction: the Racket programming language. We provide (a) a novel taxonomy of language design intents enabled by Racket-embedded DSLs, and (b) a classification of ways to utilize Racket’s mechanisms that make the implementation of those intents possible. We substantiate our taxonomy with an analysis of 30 popular Racket-based DSLs, discussing how they make use of the available mechanisms and accordingly achieve their design intents. The taxonomy serves as a reusable measure that can help language designers to systematically develop, compare, and analyze DSLs in Racket as well as other frameworks.
Sun 20 OctDisplayed time zone: Pacific Time (US & Canada) change
16:00 - 17:30 | SLE Body of Knowledge (SLEBoK)SLE at IBR East Chair(s): Eric Van Wyk Department of Computer Science and Engineering, University of Minnesota | ||
16:00 30mTalk | DSLs in Racket: You Want It How, Now? SLE Yunjeong Lee National University of Singapore, Kiran Gopinathan National University of Singapore, Ziyi Yang National University of Singapore, Matthew Flatt University of Utah, Ilya Sergey National University of Singapore DOI | ||
16:30 30mTalk | Design of Software Representation Languages: a Historical Perspective SLE Anthony I. (Tony) Wasserman Software Methods and Tools DOI | ||
17:00 30mTalk | The Linguistic Theory Behind Blockly Languages SLE DOI |