Tutorial: Multi-stage Programming for Circuit Generation
Walid Taha · 2009
Multi-stage programming is a paradigm for writing generic programs that do not pay a runtime overhead. The key underlying technology is program generation. In addition, languages designed to support this paradigm (such as MetaOCaml) help the programmer avoid many of the difficulties that are traditionally encountered in developing program generators. This tutorial will introduce you to the basics of this paradigm as well as of programming in MetaOCaml. The focus of this particular tutorial will be on using MetaOCaml to generate hardware circuits.