I am motivated by the goal of building tools that foster human creativity, self-expression, and liberation. To achieve this goal, I rely on and contribute to two main disciplinary foundations: Programming Languages (PL) and Game Design (Games). Within PL, my work focuses on connections between logic in computer science, type systems, functional programming, logic programming, symbolic knowledge representation, and automated reasoning. Within games, I am primarily interested in interactive narrative systems, procedural generation, interactive virtual agents, social simulation, and playful modes of engaging with creative tools (c.f. Ivan Illich’s Tools for Conviviality, the namesake of this website).
I direct the Principles of Expressive Machines (POEM) research group on projects connected to these goals and disciplines. POEM mainly consists of the Ph.D. students that I have the honor of advising, but also includes some postdocs, masters students, undergraduates, and senior collaborators. If you’d like to collaborate or join my lab, please get in touch.