Program generation is indispensable. We propose a novel unification of two existing metaprogramming techniques: multi-stage programming and hygienic generative macros. The former supports runtime code generation and execution in a type-safe manner while the latter offers compile-time code generation. In this work we draw upon a long line of research on metaprogramming, starting with Lisp, MetaML and MetaOCaml. We provide direct support for quotes, splices and top-level splices, all regulated uniformly by a level-counting Phase Consistency Principle. Our design enables the construction and combination of code values for both expressions and types. Moreover, code generation can happen either at runtime à la MetaML or at compile time, in a mac...
MetaML is a statically typed functional programming language with special support for programgenerat...
Recent advances in Software Engineering have reduced the cost of coding programs at the expense of i...
Recent work proposed defining type-safe macros via interpretation into a multi-stage language. The u...
In metaprogramming, code generation and code analysis are complementary. Traditionally, principled m...
AbstractWe introduce MetaML, a practically motivated, statically typed multi-stage programming langu...
Metaprogramming is a technique that consists in writing programs that treat other programs as data. ...
"From now on, a main goal in designing a language should be to plan for growth."Guy Steele: Growing ...
Powerful, safe macro systems allow programs to be programatically constructed by the user at compile...
Homogeneous generative meta-programming (HGMP) enables the generation of program fragments at compil...
Powerful, safe macro systems allow programs to be programatically constructed by the user at compile...
Homogeneous generative meta-programming (HGMP) enables the generation of program fragments at compil...
Compile-time meta-programming allows programs to be constructed by the user at compile-time. Althoug...
A meta-program is a program that generates or manipulates another program; in homogeneous meta-progr...
The domain of high-performance computing is still dominated by manual optimiza-tions of programs wri...
Partial evaluation allows for specialization of program fragments. This can be realized by staging, ...
MetaML is a statically typed functional programming language with special support for programgenerat...
Recent advances in Software Engineering have reduced the cost of coding programs at the expense of i...
Recent work proposed defining type-safe macros via interpretation into a multi-stage language. The u...
In metaprogramming, code generation and code analysis are complementary. Traditionally, principled m...
AbstractWe introduce MetaML, a practically motivated, statically typed multi-stage programming langu...
Metaprogramming is a technique that consists in writing programs that treat other programs as data. ...
"From now on, a main goal in designing a language should be to plan for growth."Guy Steele: Growing ...
Powerful, safe macro systems allow programs to be programatically constructed by the user at compile...
Homogeneous generative meta-programming (HGMP) enables the generation of program fragments at compil...
Powerful, safe macro systems allow programs to be programatically constructed by the user at compile...
Homogeneous generative meta-programming (HGMP) enables the generation of program fragments at compil...
Compile-time meta-programming allows programs to be constructed by the user at compile-time. Althoug...
A meta-program is a program that generates or manipulates another program; in homogeneous meta-progr...
The domain of high-performance computing is still dominated by manual optimiza-tions of programs wri...
Partial evaluation allows for specialization of program fragments. This can be realized by staging, ...
MetaML is a statically typed functional programming language with special support for programgenerat...
Recent advances in Software Engineering have reduced the cost of coding programs at the expense of i...
Recent work proposed defining type-safe macros via interpretation into a multi-stage language. The u...