Embrace, defend, extend: a methodology for embedding preexisting DSLs

  • Authors:
  • Abhishek Kulkarni;Ryan R. Newton

  • Affiliations:
  • Indiana University, Bloomington, Indiana, USA;Indiana University, Bloomington, Indiana, USA

  • Venue:
  • Proceedings of the 1st annual workshop on Functional programming concepts in domain-specific languages
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Domain-specific languages offer programming abstractions that enable higher efficiency, productivity and portability specific to a given application domain. Domain-specific languages such as StreamIt have valuable auto-parallelizing code-generators, but they require learning a new language and tool-chain and may not integrate easily with a larger application. One solution is to transform such standalone DSLs into embedded languages within a general-purpose host language. This prospect comes with its own challenges, namely the compile-time and runtime integration of the two languages. In this paper, we address these challenges, presenting our solutions in the context of a prototype embedding of StreamIt in Haskell. By demonstrating this methodology, we hope to encourage more reuse of DSL technology, and fewer short-lived reimplementations of existing techniques.