2012 (English)Conference paper (Refereed)
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.
Place, publisher, year, edition, pages
2012. 117-120 p.
, Conference Record of the Annual ACM Symposium on Principles of Programming Languages, ISSN 0730-8566
IdentifiersURN: urn:nbn:se:kth:diva-165607DOI: 10.1145/2103746.2103769ScopusID: 2-s2.0-84857858103ISBN: 978-145031118-2OAI: oai:DiVA.org:kth-165607DiVA: diva2:808695
2012 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, Philadelphia, Pennsylvania, USA, January 23-24, 2012
QC 201505182015-04-292015-04-292015-05-18Bibliographically approved