We are interested in studying and developing programming languages techniques such as multi-stage programming, reactive programming, and indexed types and in showing how they can be applied to challenging domains such as embedded and real-time systems, device drivers, and hardware design and synthesis.