Typed syntactic meta-programming

Dominique Devriese, Frank Piessens
2013 Proceedings of the 18th ACM SIGPLAN international conference on Functional programming - ICFP '13  
We present a novel set of meta-programming primitives for use in a dependently-typed functional language. The types of our metaprograms provide strong and precise guarantees about their termination, correctness and completeness. Our system supports typesafe construction and analysis of terms, types and typing contexts. Unlike alternative approaches, they are written in the same style as normal programs and use the language's standard functional computational model. We formalise the new
more » ... ramming primitives, implement them as an extension of Agda, and provide evidence of usefulness by means of two compelling applications in the fields of datatype-generic programming and proof tactics.
doi:10.1145/2500365.2500575 dblp:conf/icfp/DevrieseP13 fatcat:v3cztsz4inc2dbx3tig6gc5vdm