On Friday October 17, this site was moved to a new server, https://mw.hh.se. The original address will continue to work. Whithin a week or two this site will return to the original address. /Peo HH IT-dep

WG211/M3Veldhuizen: Difference between revisions

From WG 2.11
Jump to navigationJump to search
m 1 revision
(No difference)

Revision as of 12:06, 12 December 2011


Todd Veldhuizen Title: Tradeoffs in Metaprogramming
Speaker: Todd Veldhuizen

Slides: [[http://pub.smart-generators.org/M3Schedule/tradeoffs.pdf .pdf]]

Abstract:
The design of metaprogramming languages requires appreciation of the tradeoffs that exist between important language characteristics such as safety properties, expressive power, and succinctness. Unfortunately, such tradeoffs are little understood, a situation we try to correct by embarking on a study of metaprogramming language tradeoffs using tools from computability theory. Safety properties of metaprograms are in general undecidable; for example, the property that a metaprogram always halts and produces a type-correct instance is [[File:9ee97d2bab9cce6f0b661e0a8782c1ef.png-complete.]] Although such safety properties are undecidable, they may sometimes be captured by a restricted language, a notion we adapt from complexity theory. We give some sufficient conditions and negative results on when languages capturing properties can exist: there can be no languages capturing total correctness for metaprograms, and no `functional' safety properties above [[File:276dc4422ef77a950a94008a4415754f.png]] can be captured. We prove that translating a metaprogram from a general-purpose to a restricted metaprogramming language capturing a property is tantamount to proving that property for the metaprogram. Surprisingly, when one shifts perspective from programming to metaprogramming, the corresponding safety questions do not become substantially harder ---- there is no `jump' of Turing degree for typical safety properties.

This talk will be based in part on the paper:
Todd L. Veldhuizen. Tradeoffs in Metaprogramming. ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM 2006), Charleston, South Carolina, January 9-10 2006. [[[http://arxiv.org/pdf/cs.PL/0512065 PDF]]]

File Attachments