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
8
0

Year Published

2017
2017
2024
2024

Publication Types

Select...
4
4

Relationship

1
7

Authors

Journals

citations
Cited by 11 publications
(8 citation statements)
references
References 90 publications
0
8
0
Order By: Relevance
“…(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%
“…(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%
“…LMS is a powerful system that preserves the execution order of staged computations and also o ers an extensible Graph-based IR. On the ipside, two shortcomings of LMS, namely high compile times and the fact that it is based on a fork of the compiler were recently discussed as points of improvement [30].…”
Section: Related Workmentioning
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%