My research is broadly focused on language design and domain-specific languages. I believe that clear and expressive languages are essential for understanding, solving, and explaining difficult problems. I am especially interested in type systems, functional programming, visual languages, and in designing languages for domain experts who may not be professional programmers.
Currently, I am researching formal representations and analyses of variation. This research is motived by improving the development and maintenance of massively configurable software, such as software product lines and the Linux kernel. I am the co-creator of the choice calculus, a simple calculus of variation that can be easily extended with new features and instantiated by new object languages.
CS 381 Programming Languages Fundamentals (Winter 2017)
Past courses are listed on my teaching page.
I am the organizer and chair of this year’s Feature-Oriented Software Development (FOSD 2017) workshop, and co-chair of this year’s Domain-Specific Language Design and Implementation (DSLDI 2017) workshop. Both workshops are planned to be co-located with SPLASH 2017 in Vancouver, Canada.
I am also the web and publicity co-chair of SPLASH 2017, so expect lots of spam from me this year. :-)
Last year, I organized and co-chaired DSLDI 2016. Thanks to everyone who participated!
I am also serving, or have recently served, on the program committees for:
- GPCE 2017
- SLE 2017
- VL/HCC 2017 (also graduate consortium chair)
- SLE 2016
- VL/HCC 2016
- PEPM 2016
- HuFaMo 2016
- VL/HCC 2015 (also showpieces co-chair, and on the grad consortium committee)
- VaMoS 2015
- New DARPA grant! – August 5, 2015
- Paper accepted to VL/HCC'15 – July 3, 2015
- Best paper award at GPCE'14 – September 15, 2014
Grad Student Mentoring
Lambda Reading Group: We’re a group of programming languages students and faculty that meets to discuss a different paper each week. If you’re interested in programming languages, you’re welcome to join. We coordinate by email, so drop me a line if you want to attend so you can read the paper ahead of time.
Current weekly meeting times:
- Research talks: Monday 2-3pm
- Reading group: Wednesday 2-3pm
- Keeley Abbott (MS/PhD)
- Alex Grasley (MS)
- Mike McGirr (MS)
- Meng Meng (MS)
- Chao Peng (MS)
- Shujin Wu (MS)
- Jeff Young (PhD)
- Spencer Hubbard (MS) – now at Tableau
Elsewhere on the Web
I have accounts at all the usual places, though most of them are neglected. Here are my profiles at some sites I actively use.