C++ Templates as Partial Evaluation
| dc.creator | Veldhuizen, Todd L. | |
| dc.date | 1998-10-09 | |
| dc.date | 1998-11-02 | |
| dc.date.accessioned | 2026-07-07T03:23:44Z | |
| dc.date.available | 2026-07-07T03:23:44Z | |
| dc.description | This paper explores the relationship between C++ templates and partial evaluation. Templates were designed to support generic programming, but unintentionally provided the ability to perform compile-time computations and code generation. These features are completely accidental, and as a result their syntax is awkward. By recasting these features in terms of partial evaluation, a much simpler syntax can be achieved. C++ may be regarded as a two-level language in which types are first-class values. Template instantiation resembles an offline partial evaluator. This paper describes preliminary work toward a single mechanism based on Partial Evaluation which unifies generic programming, compile-time computation and code generation. The language Catat is introduced to illustrate these ideas. | |
| dc.description | 13 pages | |
| dc.identifier | https://arxiv.org/abs/cs/9810010 | |
| dc.identifier | http://arxiv.org/abs/cs/9810010 | |
| dc.identifier.uri | http://salesiana.dossiersoluciones.com/handle/123456789/33060 | |
| dc.subject | Programming Languages | |
| dc.subject | Performance | |
| dc.subject | F.3.2; D.3.3; D.3.4 | |
| dc.title | C++ Templates as Partial Evaluation | |
| dc.type | text |