Proceedings of the 2016 7th ACM SIGPLAN Symposium on Scala 2016
DOI: 10.1145/2998392.2998399
|View full text |Cite
|
Sign up to set email alerts
|

Reflections on LMS: exploring front-end alternatives

Abstract: 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… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
7
0

Year Published

2017
2017
2024
2024

Publication Types

Select...
4
3

Relationship

1
6

Authors

Journals

citations
Cited by 11 publications
(7 citation statements)
references
References 90 publications
0
7
0
Order By: Relevance
“…Various patterns for realizing program transformations for increased performance through generative programming have been identified by the high-performance-computing community (Cohen et al, 2006;Ofenbeck et al, 2017), but there is comparatively fewer work in the context of systems-oriented software. The essence of LMS has been described as a combination of techniques such as operator overloading and eager let-insertion (Rompf, 2016a(Rompf, , 2016b, which can be realized in different ways in both statically and dynamically typed languages (Amin & Rompf, 2018;Moldovan et al, 2019).…”
Section: Generative Programmingmentioning
confidence: 99%
“…Various patterns for realizing program transformations for increased performance through generative programming have been identified by the high-performance-computing community (Cohen et al, 2006;Ofenbeck et al, 2017), but there is comparatively fewer work in the context of systems-oriented software. The essence of LMS has been described as a combination of techniques such as operator overloading and eager let-insertion (Rompf, 2016a(Rompf, , 2016b, which can be realized in different ways in both statically and dynamically typed languages (Amin & Rompf, 2018;Moldovan et al, 2019).…”
Section: Generative Programmingmentioning
confidence: 99%
“…(For example, MVCs [37] and Torgersen's second solution [34] both have the same issue.) The state of affairs for LMS might change in future though [38].…”
Section: E3 Upon Extension Forces No Manipulation or Duplicationmentioning
confidence: 99%
“…However, these are often heavyweight and impose a significant cost on domain experts, who have to deal with complicated type encodings, whereas they would just like to express code transformations as simple rewrite rules. In particular, we found that GADTs are hard to manipulate in systems like Haskell and Scala [Giarrusso 2013;Rompf 2016]. łType-based embeddingž systems like LMS [Rompf and Odersky 2010] use implicit conversions to compose code fragments, but this approach is complicated [Jovanovic et al 2014] and is not applicable to code pattern-matching.…”
Section: Safe Program Manipulationmentioning
confidence: 99%