Note: new home page style being installed; please excuse the "dust"!

My research has always centered around notions of language; typically these languages have been programming languages, but they also include, for example, formal logics and document-description languages. Because of the computational context of my work, my concerns have focused on the tension between expressive power and tractability. Generally speaking, as a language becomes more expressive, it also becomes more difficult to analyze and more capable of "going awry". Static type systems are a good example of striking a balance between these concerns: the type system constrains the expressive capability of the language, but in return gives us certain guarantees about the behavior of well-typed programs.

Most of my research has its origins in practical considerations. For example, my dissertation work on polymorphic type systems arose out of programming experiences with ML and related languages: in everyday use, I found that I was unable to express functions in these languages which I intuitively felt were reasonable and well-behaved. I was ultimately able to justify these intuitions by demonstrating extended language features and type systems which could accommodate the new functions. As another example, my work on HtX, Oberlin's language for Web-document description, arose out of very pragmatic issues in the maintenance of large, complex document structures. In each of these cases, I have tried to find ways to bring theoretical results to bear on practical, real-world problems faced by language users.

Functional Programming

<UNDER CONSTRUCTION>

Type Theory

<UNDER CONSTRUCTION>

Generic Programming

<UNDER CONSTRUCTION>

Document Description

<UNDER CONSTRUCTION>

Teaching Professional Willamette Personal Links Fritz Home