Incremental Type-Checking for Metaprograms
Weiyu Miao
Weiyu Miao 1 / 20
Incremental Type-Checking for Metaprograms Weiyu Miao Weiyu Miao 1 - - PowerPoint PPT Presentation
Incremental Type-Checking for Metaprograms Weiyu Miao Weiyu Miao 1 / 20 Introduction to Metaprogramming Metaprogramming is a programming technique for generating and manipulating other programs. MetaML, MetaOCaml, Haskell Templates, C++
Weiyu Miao 1 / 20
Weiyu Miao 2 / 20
1supported by NSF, CCF-0702362 Weiyu Miao 3 / 20
Weiyu Miao 4 / 20
Weiyu Miao 5 / 20
Weiyu Miao 6 / 20
Weiyu Miao 7 / 20
Weiyu Miao 8 / 20
2Ronald Garcia. Static Computation and Reflection. PhD thesis, Indiana University,
Weiyu Miao 9 / 20
1 .
2 .
n .
1 .
2 .
n .
Weiyu Miao 10 / 20
C++ Templates System F
Weiyu Miao 11 / 20
m n n m m
2 2 1 1
m n n m m
2 2 1 1
m n n m m
2 2 1 1
m n n m m
2 2 1 1
m n n m m
2 2 1 1
Weiyu Miao 12 / 20
Weiyu Miao 13 / 20
Weiyu Miao 14 / 20
Weiyu Miao 15 / 20
1 )β.
2 )γ.
n )δ.
1 )β.
2 )γ.
n )δ.
Weiyu Miao 16 / 20
Weiyu Miao 17 / 20
3Jeremy Siek, Ronald Garcia, and Walid Taha. Exploring the Design Space of
Weiyu Miao 18 / 20
Weiyu Miao 19 / 20
Weiyu Miao 20 / 20