Type-directed, whitespace-delimited parsing for embedded DSLs

  • Authors:
  • Cyrus Omar;Benjamin Chung;Darya Kurilova;Alex Potanin;Jonathan Aldrich

  • Affiliations:
  • Carnegie Mellon University;Carnegie Mellon University;Carnegie Mellon University;Carnegie Mellon University;Carnegie Mellon University

  • Venue:
  • Proceedings of the First Workshop on the Globalization of Domain Specific Languages
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Domain-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.