BS (physics) 1970, Oregon State University
MS (optical sciences) 1972, PhD (computer science) 1976, University of Arizona


Google. Software Engineer, 2004-2012.

Microsoft Research. Senior Researcher, 1997-2004.

Princeton University. Professor of Computer Science, 1986-97; Visiting Associate Professor, 1984-85.

Institute for Defense Analyses, Center for Communications Research. Research Staff Member, 1984-85 (Princeton), 1995-96 (La Jolla), summers 1980, 1982, 1989, 1994 (Princeton); summer 2009 (La Jolla); FOCUS Advisory Committee, 1993-96.

Bell Laboratories. Consultant, 1988-96.

Digital Equipment, Systems Research Center. Visiting Scientist, summers 1992, 1993.

Adobe Systems. Computer Scientist, summer 1991.

University of Utah. Visiting Professor of Computer Science, 1989-90.

Los Alamos National Laboratory. Consultant, 1987-94; Computing Division External Advisory Committee, 1988-93.

University of Arizona. Professor of Computer Science, 1985-86; Department Head, 1981-86; Associate Professor, 1981-85; Assistant Professor, 1977-81; Research Associate, 1975-76; Systems Analyst, 1973-75.

Yale University. Assistant Professor of Computer Science, 1976-77.

Western Electric, Engineering Research Center. Member of the Research Staff, 1970-73.

Professional Activities

Editor, Software—Practice and Experience, 1980-88; Editorial Board Member, since 1988.

Program Committee Member, SIGPLAN Symposium on Compiler Construction, 1979; SIGACT-SIGPLAN Symposium on Principles of Programming Languages, 1980, 1981, 1989; SIGPLAN-SIGOA Symposium on Text Manipulation, 1981; SIGSOFT-SIGPLAN Symposium on High-Level Debugging, 1983; International Computer Science Conference, 1988; International Conference on Computer Languages, 1992; International Conference on Programming Languages and System Architectures, 1994; Fourth International Workshop on Automated Debugging, 2000.

Program Committee Chair, SIGPLAN Conference on Programming Language Design and Implementation, 1995.

Series Editor, Princeton University Press Series in Computer Science, since 1985; Computer Science Notes Series, since 1991.

Member, ACM Software Systems Award Committee, 1985-90; Chair, 1990.


Faculty Associate and Co-Principal Investigator, Formalizing and Automating the Implementation of Portable Software, National Science Foundation, $266,216, 1978-83.

Principal Investigator, Computer Science and Engineering Research Equipment, National Science Foundation, $158,596, 1981-82.

Principal Investigator, Programming Language Toolbox, National Science Foundation, $89,535, 1983-86.

Co-Principal Investigator, Very High-Level Programming Languages, AT&T, $325,000, 1985.

Principal Investigator, Coordinated Experimental Research Grant: Programming Systems, National Science Foundation, $3,586,660, 1984-89.

Co-Principal Investigator, HP Equipment Grant, Hewlett-Packard Corp., $150,328, 1992.

Principal Investigator, Alpha Workstation Grant, Alpha Innovators Program, Digital Equipment Corp., $120,000, 1993.

Principal Investigator, Compilers and Related Tools for 64-bit Architectures, AT&T Special-Purpose Grant in Science and Engineering, $40,000, 1993.

Principal Investigator, Very High-Level Languages for Networks, AT&T Special-Purpose Grant in Science and Engineering, $40,000, 1994.

Co-Principal Investigator, Development of a HIL/LIL Framework for a National Compiler Infrastructure, Advanced Research Projects Agency and the National Science Foundation, $1,397,293, 1996-99.