2023 Graduate Research Symposium Keynote

Nov 3, 2023

04:00 PM - 05:00 PM

University Capitol Centre, 2520D

200 South Capitol Street, Iowa City, IA 52240

Save to My Events

Garrett Morris portrait - submitted

Keynote Speaker: Garrett Morris

Title: On Extensibility


This talk will introduce my research on programming languages, exemplified by some recent results on modularity and extensible data types. My research into programming languages and their type systems is guided by two overriding goals. On the one hand, types should precisely specify program behavior, allowing programmers to rule out classes of erroneous behavior. On the other, types should enable expressive tools, allowing programmers to build modular, reusable software and software components. My work inhabits the intersection of these ideas, refining generic programming mechanisms both to better enforce intended program behavior and to support more expressive abstractions.

Extensibility is an evergreen problem in programming, and so in programming language design. The goal is simple: specifications of data should support the addition of both new kinds of data and new operations on data. Despite this problem having been identified as early as 1975, modern languages lack effective solutions. Object-oriented languages require programmers to adopt unintuitive patterns like visitors, while functional languages rely on encodings of data types. Lower-level languages, where similar problems arise, rely on textual substitution.

In this talk, I will present recent work with James McKinna and Alex Hubers which proposes a unified approach to extensible data specifications. This work generalizes existing systems for extensible data types in two ways: It captures examples that are inexpressible in all other systems and generalizes over a variety of approaches to extensibility previously thought incompatible. More recently, we have extended this approach to generic programming over extensible data types; that is to say, capturing properties and invariants of extensible data types without putting any concrete restrictions on the structure of the data.

Bio: J. Garrett Morris is an Assistant Professor and Emeritus Faculty Scholar in the Department of Computer Science at the University of Iowa. He received his PhD from Portland State University in Oregon, and post-doctoral training at the University of Edinburgh, Scotland. His research focuses on the development of type systems for higher-order functional programming languages, with the twin aims of improving expressiveness and modularity in high-level programming and supporting safe concurrent, low-level, and effectful programming. His work has been published in the top venues in theoretical programming languages, and is supported by the National Science Foundation.

2023 Prospective Student Visit Day and Graduate Research Symposium details here

Individuals with disabilities are encouraged to attend all University of Iowa–sponsored events. If you are a person with a disability who requires a reasonable accommodation in order to participate in this program, please contact in advance at