My advisor is Walid Taha.
Multi-stage programming is a general framwork for type-safe program generation and metaprogramming. I'm interested in its basic metatheory and type systems, and also in using it to write verifiable (or just less buggy), efficient programs. I'm interested in two specific applications at the moment:
Jun Inoue and Walid Taha. Reasoning about multi-stage programs. In ESOP 2012: Proceedings of the 22nd European Symposium on Programming, 2012. This is an updated, extended version of my Master's thesis; the technical report supersedes the thesis. [ paper, technical report ]
Yun Zhu, Edwin Westbrook, Jun Inoue, Alexandre Chapoutot, Cherif Salama, Marisa Peralta, Travis Martin, Walid Taha, Marcia O'Malley, Robert Cartwright, Aaron Ames, and Raktim Bhattacharya. Mathematical equations as executable models of mechanical systems. In ICCPS '10: Proceedings of the 1st ACM/IEEE International Conference on Cyber-Physical Systems, 2010. [ paper ]
Edwin Westbrook, Mathias Ricken, Jun Inoue, Yilong Yao, Tamer Abdelatif, and Walid Taha. Mint: Java multi-stage programming using weak separability. In PLDI '10: Proceedings of the ACM SIGPLAN 2010 Conference on Programming Language Design and Implementation, 2010. [ paper, technical report ]
Angela Yun Zhu, Jun Inoue, Marisa L. Peralta, Walid Taha, Marcia K. O'Malley, and Dane Powell. Implementing haptic feedback environments from high-level descriptions. In ICESS 2009: Proceedings of The 6th International Conference on Embedded Software and Systems, 2009. [ paper ]
Jun Inoue. Reasoning about staged programs. Master's thesis, Rice University, May 2010. Superseded by the technical report for "Reasoning About Multi-Stage Programs", ESOP 2012. [ thesis ]
Jun Inoue. Delimited Assumptions: How to Supercompile with Staging. Unpublished manuscript. [ literate MetaOCaml source ]