C++ Templates as Partial Evaluation

dc.creatorVeldhuizen, Todd L.
dc.date1998-10-09
dc.date1998-11-02
dc.date.accessioned2026-07-07T03:23:44Z
dc.date.available2026-07-07T03:23:44Z
dc.descriptionThis 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.description13 pages
dc.identifierhttps://arxiv.org/abs/cs/9810010
dc.identifierhttp://arxiv.org/abs/cs/9810010
dc.identifier.urihttp://salesiana.dossiersoluciones.com/handle/123456789/33060
dc.subjectProgramming Languages
dc.subjectPerformance
dc.subjectF.3.2; D.3.3; D.3.4
dc.titleC++ Templates as Partial Evaluation
dc.typetext

Files

Collections