2003
DOI: 10.1007/978-3-540-39815-8_4
|View full text |Cite
|
Sign up to set email alerts
|

Implementing Multi-stage Languages Using ASTs, Gensym, and Reflection

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
73
0

Year Published

2003
2003
2012
2012

Publication Types

Select...
6
2
1

Relationship

1
8

Authors

Journals

citations
Cited by 82 publications
(73 citation statements)
references
References 26 publications
0
73
0
Order By: Relevance
“…To increase productivity, structured multistage languages enforce syntactic correctness of the generated code: e.g., C++ expression templates [25], 'C [19] and Jumbo [12]. To further increase productivity and ease debugging, a few multistage languages guarantee that the generated code will not produce any compilation error (syntax, definition and initialization errors, type checking): e.g., MetaML and its successor MetaOCaml [2,24]. The added safety is very valuable to increase the productivity of program generator designers, but the associated constraints may also complicate the meta-programming of specific optimizations [4].…”
Section: Related Workmentioning
confidence: 99%
“…To increase productivity, structured multistage languages enforce syntactic correctness of the generated code: e.g., C++ expression templates [25], 'C [19] and Jumbo [12]. To further increase productivity and ease debugging, a few multistage languages guarantee that the generated code will not produce any compilation error (syntax, definition and initialization errors, type checking): e.g., MetaML and its successor MetaOCaml [2,24]. The added safety is very valuable to increase the productivity of program generator designers, but the associated constraints may also complicate the meta-programming of specific optimizations [4].…”
Section: Related Workmentioning
confidence: 99%
“…Lisp-style macros, Scheme hygienic macros, the camlp4 preprocessor [16], C++ template metaprogramming, and Template Haskell [17] solve some of the above problems. Of the widely available maintainable languages, only MetaOCaml [18,19] solves all of the above problems, including the well-typing of both the generator and the generated code [20,21]. But more difficult problems remain.…”
Section: Introductionmentioning
confidence: 99%
“…Introducing explicit staging constructs into programming languages is the goal of research projects including 'C [9], Popcorn [25], MetaML [30,20], MetaOCaml [4,19], and Template Haskell [23]. Staging is an essential ingredient of macros [10], partial evaluation [15], program generation [16], and run-time code generation [12].…”
Section: Introductionmentioning
confidence: 99%