Visible to the public Type-directed, whitespace-delimited parsing for embedded DSLs

TitleType-directed, whitespace-delimited parsing for embedded DSLs
Publication TypeConference Paper
Year of Publication2013
AuthorsOmar, Cyrus, Chung, Benjamin, Kurilova, Darya, Potanin, Alex, Aldrich, Jonathan
Conference NameProceedings of the First Workshop on the Globalization of Domain Specific Languages
PublisherACM} keywords = {SoS Lablet, Human Behavior, Scalability and Composability
KeywordsCMU, science of security
AbstractDomain-specific languages improve ease-of-use, expressiveness and verifiability, but defining and using different DSLs within a single application remains difficult. We introduce an approach for embedded DSLs where 1) whitespace delimits DSL-governed blocks, and 2) the parsing and type checking phases occur in tandem so that the expected type of the block determines which domain-specific parser governs that block. We argue that this approach occupies a sweet spot, providing high expressiveness and ease-of-use while maintaining safe composability. We introduce the design, provide examples and describe an ongoing implementation of this strategy in the Wyvern programming language. We also discuss how a more conventional keyword-directed strategy for parsing of DSLs can arise as a special case of this type-directed strategy.
Citation Keyomar2013type