Reflections on LMS: Exploring Front-End Alternatives
Metaprogramming techniques to generate code at runtime in a general-purpose meta-language have seen a surge of interest in recent years, driven by the widening performance gap between high-level languages and emerging hardware platforms. In the context of Scala, the LMS (Lightweight Modular Staging) framework has contributed to "abstraction without regret''–high-level programming without performance penalty–in a number of challenging domains, through runtime code generation and embedded compiler pipelines based on stacks of DSLs.
Based on this experience, this paper crystallizes some of the design decisions of LMS and discusses potential alternatives, which maintain the underlying spirit but differ in implementation choices: specifically, strategies for realizing more flexible front-end embeddings using type classes instead of higher-kinded types, and strategies for type-safe metaprogramming with untyped intermediate representations.
Tiark Rompf is an assistant professor at Purdue University. His work focuses on runtime code generation, advanced compiler technology, and associated language support. From 2008 to 2014 he was a member of Martin Odersky’s Scala team at EPFL where he developed the LMS compiler framework and made various contributions to the Scala language and toolchain (delimited continuations, efficient immutable data structures, compiler speedups, type system work).
Sun 30 OctDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
13:30 - 15:10 | |||
13:30 25mTalk | RandIR: Differential Testing for Embedded Compilers Scala Georg Ofenbeck ETH Zurich, Switzerland, Tiark Rompf Purdue University, USA, Markus Püschel ETH Zurich DOI File Attached | ||
13:55 25mTalk | Reflections on LMS: Exploring Front-End Alternatives Scala Tiark Rompf Purdue University, USA DOI | ||
14:20 25mTalk | SecureScala: Scala Embedding of Secure Computations Scala Markus Hauck codecentric AG, Savvas Savvides Purdue University, Patrick Eugster Purdue University, Mira Mezini TU Darmstadt, Guido Salvaneschi TU Darmstadt, Germany DOI Pre-print Media Attached | ||
14:45 25mTalk | Towards a Scala embedded information system description DSL Scala Zeljko Bajic , Milan Jovic Department of Mathematics and Informatics, Faculty of Sciences, University of Novi Sad |