Research/Areas of Interest:

functional languages, compilers for embedded systems, program analysis and optimization, embedded domain-specific languages


  • Doctor of Philosophy, Columbia University, USA, 2019
  • Master of Philosphy, Columbia University, USA, 2016
  • Master of Science, Columbia University, USA, 2015
  • Bachelor of Arts, Oberlin College, USA, 2013


Richard Townsend received his Ph.D. at Columbia University studying programming languages and compilers under Stephen A. Edwards and Martha A. Kim. His research focuses on the use of functional languages and high-level optimizations to translate recursive algorithms with irregular memory access patterns into efficient hardware designs. This work revolves around his research group's current project: an optimizing Haskell-to-SystemVerilog compiler. In 2019, he made the transition from researcher to instructor as an assistant teaching professor with the Tufts Department of Computer Science, where he pursues his passion of teaching computer science.