Scala-virtualized

  • Authors:
  • Adriaan Moors;Tiark Rompf;Philipp Haller;Martin Odersky

  • Affiliations:
  • EPFL, Lausanne, Switzerland;EPFL, Lausanne, Switzerland;EPFL and Stanford, Lausanne and Stanford, Switzerland;EPFL, Lausanne, Switzerland

  • Venue:
  • PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Scala-Virtualized extends the Scala language to better support hosting embedded DSLs. Embedding a DSL in Scala-Virtualized comes with all the benefits of a shallow embedding thanks to Scala's flexible syntax, without giving up analyzing and manipulating the domain program -- typically exclusive to deep embeddings. Through lightweight modular staging, implemented in standard Scala, the benefits of a deep embedding are recovered with little overhead. Scala-Virtualized lifts more of the language's built-in constructs and static information to complete this support and make it more convenient. We illustrate how Scala-Virtualized makes Scala an even better host for embedded DSLs along three axes of customizing the language: syntax, run-time behavior and static semantics.