I'm an Associate Professor in the Rutgers Department of Linguistics, where I also serve as the Graduate Program Director.
My research is computational: it asks how and where the techniques and results of modern computer science can help us better understand how human languages compositionally assemble meanings for complex signs. Programming languages are artificial (and, compared with natural languages, simple) systems, but they are, after all, languages—with form, meaning, and a systematic relationship between the two.
The connection between linguistic semantics and functional programming paradigms is especially close: both build complex concepts or procedures by applying functions to arguments. My research frequently uses monads and applicative functors, techniques developed for modularly extending functional languages with side effects such as state and nondeterminism, as engines for better and more explanatory semantic theories.
As long as I've been a linguist, I've been fascinated by quantification, scope, indefiniteness, and anaphora, areas in which the relationship between lingusitic form and meaning is especially rich and complex. I have developed new frameworks for doing semantics in the presence of dynamic effects (state) and alternatives (nondeterminism). And I am a big fan of implementing semantic theories as runnable code.
You can find further details of my academic life, along with links to papers, talk handouts and slides, and some course materials, in my CV.
Email me at