My research focuses on high-level programming language and runtime support for non-general purpose computation. Special-purpose devices, like sensor networks, GPUs, and FPGAs, can solve certain classes of problems more efficiently than general purpose devices. The drawback is that most existing programming models are designed for general purpose computing and often either under-perform or fail to perform when applied to specialized devices; optimal utilization of specialized devices requires specialized programming models.
Office hours for this semester are tentative.
- Tuesdays 4pm-5pm, UC 106.
- Wednesdays 2pm-4pm, UC 106.
My door may be closed during office hours if there is a lot of hallway noise—please just knock!
I am happy to meet with you at another time. Please check my schedule and send me an email to set up an appointment.
- Adding support for SSE instructions to GHC. Our results are documented in the paper Exploiting Vector Instructions with Generalized Stream Fusion, which was presented at ICFP '13.
- MetaHaskell: Type Safe Heterogeneous Metaprogramming in Haskell.
- Nikola. Program GPUs from Haskell.
- Flask: Staged Functional Programming for Sensor Networks.
- Quasiquoting for GHC.
- LiveNet: Reconstruct Sensor Network Dynamics with Passive Monitoring.
- CitySense: An Open, Urban-Scale Sensor Network Testbed.
- Various TinyOS-related projects and information.
Most of my work can be found on github.
I am currently an Assistant Professor in the Department of Computing at Drexel University.