Tradeoffs in Metaprogramming∗
Todd Veldhuizen Open Systems Laboratory Indiana University Bloomington January 10, 2006
∗This paper on which this talk was based may be found at http://arxiv.org/abs/cs/0512065
Two traditions of generics Safe (but restricted expressiveness) - - PowerPoint PPT Presentation
Tradeoffs in Metaprogramming Todd Veldhuizen Open Systems Laboratory Indiana University Bloomington January 10, 2006 This paper on which this talk was based may be found at http://arxiv.org/abs/cs/0512065 PEPM 2006 January 12, 2006
∗This paper on which this talk was based may be found at http://arxiv.org/abs/cs/0512065
PEPM 2006 January 12, 2006
PEPM 2006 January 12, 2006
PEPM 2006 January 12, 2006
PEPM 2006 January 12, 2006
PEPM 2006 January 12, 2006
PEPM 2006 January 12, 2006
PEPM 2006 January 12, 2006
PEPM 2006 January 12, 2006
PEPM 2006 January 12, 2006
PEPM 2006 January 12, 2006
❢ ❢ ❢ ❢ ❈ ❈ ✄ ✄
✬ ✫ ✩ ✪
This diagram illustrates the idea
“capture.” Imagine this as a kind
Venn-diagram
sets
programs. We have some universal language. Inside this language is a set
programs with some desirable property ψ. Although ψ is undecidable, we can sometimes find a sublanguage Lψ that is decidable, such that for any program p that models ψ, there is an equivalent program p′ ∈ Lψ.
PEPM 2006 January 12, 2006
PEPM 2006 January 12, 2006
PEPM 2006 January 12, 2006
3
2
2
2
1
1
1
PEPM 2006 January 12, 2006
3
2
2
2
1
1
1
PEPM 2006 January 12, 2006
3
2
2
2
1
1
1
PEPM 2006 January 12, 2006
3
2
2
2
1
1
1
PEPM 2006 January 12, 2006
3
2
2
2
1
1
1
1 oracle
PEPM 2006 January 12, 2006
3
2
2
2
1
1
1
1 oracle
PEPM 2006 January 12, 2006
PEPM 2006 January 12, 2006
2.
2) have noncomputable
1 ⊂ Π0 2.
PEPM 2006 January 12, 2006
PEPM 2006 January 12, 2006
1 properties seem to be a quagmire.
PEPM 2006 January 12, 2006
PEPM 2006 January 12, 2006
1 is the only class where we have finite axiomatizations ≡ complete proof
1, and Lψ captures ψ, there will
PEPM 2006 January 12, 2006
PEPM 2006 January 12, 2006 (conservative)
❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❍ ❍ ❍ ❍ ❍ ❍ ❍ ❍ ❅ ❅ ❅ ❅ ❅ ❅ ❅ ❳❳❳❳❳❳❳❳❳❳P P ✭✭✭✭✭✘ ✘ ✘ ✘ ✘✦✦✦✦✦
ψ Increasing language complexity Under- Over- approximation approximation
❤
PEPM 2006 January 12, 2006
PEPM 2006 January 12, 2006
PEPM 2006 January 12, 2006