Eric Walkingshaw

Assistant Professor
Corvallis, OR 97331, USA
Office: KEC 3049 (map)

Research Overview

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, and modularity.

Currently, I am researching formal representations and analyses of variation. 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. This research was originally motived by improving the development and maintenance of massively configurable software, such as software product lines. However, it has since been applied to modeling resource consumption, optimizing gradually typed programs, typing generalized algebraic data types, and more.

See my research page for a (perpetually outdated) list of projects, or my publications page for a (usually current) list of papers.


CS 589: Special Topics in Programming Languages – Modularity (Spring 2019)

Past courses are listed on my teaching page.


I am an organizer and activist for the United Academics of Oregon State University. If you have any questions about our new faculty union here at OSU, please shoot me an email. I’d love to talk!

Recently, I organized and chaired the graduate consortium at VL/HCC 2017, and organized and co-chaired several workshops: FOSD 2017, DSLDI 2017, and DSLDI 2016. I was also the web and publicity co-chair for SPLASH 2017.

I am also serving or have recently served on the program committees for:

Student Mentoring

I lead a diverse team of fantastic students:

Graduate students

Undergraduate students

My past students, along with their theses or project reports are listed on my advising page, along with advice you should read if you're interested in applying to work with me.

I am also the faculty advisor for the OSU Functional Programming Club and co-advisor of a weekly programming languages reading group. For more information, see my advising page.

Elsewhere on the Web

Here are my profiles at some sites I actively use:

I purposely do not have accounts at ResearchGate or