Proceedings of the 4th ACM SIGPLAN International Workshop on Meta-Programming Techniques and Reflection - META 2019

2019 ◽  
2015 ◽  
Vol 2015 ◽  
pp. 1-22
Author(s):  
Bart Janssens ◽  
Támas Bányai ◽  
Karim Limam ◽  
Walter Bosschaerts

In finite element methods, numerical simulation of the problem requires the generation of a linear system based on an integral form of a problem. Using C++ meta-programming techniques, a method is developed that allows writing code that stays close to the mathematical formulation. We explain the specifics of our method, which relies on the Boost.Proto framework to simplify the evaluation of our language. Some practical examples are elaborated, together with an analysis of the performance. The abstraction overhead is quantified using benchmarks.


2006 ◽  
Vol 14 (2) ◽  
pp. 81-110 ◽  
Author(s):  
Christophe Prud'homme

In this article, we present a domain specific embedded language inC++ that can be used in various contexts such as numerical projection onto a functional space, numerical integration, variational formulations and automatic differentiation. Albeit these tools operate in different ways, the language overcomes this difficulty by decoupling expression constructions from evaluation. The language is implemented using expression templates and meta-programming techniques and uses various Boost libraries. The language is exercised on a number of non-trivial examples and a benchmark presents the performance behavior on a few test problems.


2019 ◽  
Vol 20 (1) ◽  
pp. 99-146 ◽  
Author(s):  
FRANÇOIS BRY

AbstractProcessing programs as data is one of the successes of functional and logic programming. Higher-order functions, as program-processing programs are called in functional programming, and meta-programs, as they are called in logic programming, are widespread declarative programming techniques. In logic programming, there is a gap between the meta-programming practice and its theory: The formalizations of meta-programming do not explicitly address its impredicativity and are not fully adequate. This article aims at overcoming this unsatisfactory situation by discussing the relevance of impredicativity to meta-programming, by revisiting former formalizations of meta-programming, and by defining Reflective Predicate Logic, a conservative extension of first-order logic, which provides a simple formalization of meta-programming.


Sign in / Sign up

Export Citation Format

Share Document