Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages 2016
DOI: 10.1145/2837614.2837644
|View full text |Cite
|
Sign up to set email alerts
|

Sound type-dependent syntactic language extension

Abstract: Syntactic language extensions can introduce new facilities into a programming language while requiring little implementation effort and modest changes to the compiler. It is typical to desugar language extensions in a distinguished compiler phase after parsing or type checking, not affecting any of the later compiler phases. If desugaring happens before type checking, the desugaring cannot depend on typing information and type errors are reported in terms of the generated code. If desugaring happens after type… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
22
0

Year Published

2016
2016
2019
2019

Publication Types

Select...
3
2
2

Relationship

2
5

Authors

Journals

citations
Cited by 21 publications
(22 citation statements)
references
References 19 publications
0
22
0
Order By: Relevance
“…Our results can inform future applications of automated first-order theorem provers for reasoning about language specifications and type systems. We are currently applying ATPs for automatically proving type soundness of a language's dynamic semantics [19], of desugaring transformations [43,44], and of program transformations in general.…”
Section: Resultsmentioning
confidence: 99%
“…Our results can inform future applications of automated first-order theorem provers for reasoning about language specifications and type systems. We are currently applying ATPs for automatically proving type soundness of a language's dynamic semantics [19], of desugaring transformations [43,44], and of program transformations in general.…”
Section: Resultsmentioning
confidence: 99%
“…With DOTSpa, we require an extended type checker, so approaches relying solely on transformations of the AST are not suitable. Instead, the conceptual framework proposed in [32] is closer to our approach. Other systems for compiler extensions include Polyglot [36] and ExtendJ [15].…”
Section: Language Extensionmentioning
confidence: 99%
“…SoundX [16] takes a di erent approach to macros: they rewrite type derivation trees instead of syntax trees. The resulting macros can be checked to introduce neither binding errors nor type errors.…”
Section: Related Workmentioning
confidence: 99%
“…A macro defines a new construct by expanding code into the host language, thus giving the illusion of a new language construct without the need to redefine the underlying language. The sophistication of a macro system varies from simple text expansion systems to systems using hygienic macros that enable correct name bindings [6,9] and macro systems with static types [13,16].…”
Section: Introductionmentioning
confidence: 99%