faculty.gif (20410 bytes)
choices.gif (4488 bytes)

Greg Morrisett

Assistant Professor

PhD CMU, 1995

My primary research interests are in the development of programming language and compiler technology. I am particularly interested in exploring high-level language facilities for building reliable, secure, and high-performance systems software (e.g. run-time systems, distributed systems). I have concentrated on producing code that is faster and consumes less memory without sacrificing safety or robustness.

greg.tif (273998 bytes)

My recent work has focused on type systems for extremely low-level languages. Our group has just designed and implemented a type checker for the Intel x86 architecture, and we showed how high-level languages, such as ML, Scheme, Safe-C, and Java, may be compiled to assembly language, yet still be type-checked. This technology provides a means to safely extend systems such as kernels, web browsers, or hand-helds without the overheads of a virtual machine or just-in-time compiler.

I also work with the TILT group at Carnegie-Mellon to produce a type-theoretic compiler for Standard ML and with the Advanced Programming Languages group at Microsoft to explore next-generation implementations of Java.


1998 Sloan Foundation Fellow

University Activities

Computer Science PhD admissions committee

Professional Activities

  • IFIP Working Group 2.8 on Functional Programming

  • Program Committee Chair: 1998 ACM Workshop on ML

  • Program Committees: 1997 ACM Workshop on Types in Compilation, 1998 ACM Conf. Programming Language Design and Implementation, 1998 Asian Computing Conf., 1999 Latin American Conf. Functional Programming

  • Referee: ACM Trans. Programming Languages and Systems, Information Processing Letters, J. Functional Programming


  • Typed assembly language. Computer Science, Univ. Pennsylvania, April, 1998.

  • ___. IFIP Working Group 2.8, Portland, OR, March 1998.

  • From System-F to typed assembly language. ACM Symp. Principles of Programming Languages, San Diego, CA, Jan. 1998.

  • Type-safe assembly language. Workshop on Security and Languages, Palo Alto, CA, Oct. 1997.

  • Types in compilation. ACM SIGPLAN Int. Conf. Functional Programming, Amsterdam, The Netherlands, June 1997.

  • TIL/C and the FAC collector. IFIP Working Group 2.8, Manchester, England, June 1997.

  • Fast, secure, and interoperable code. Microsoft Research, Redmond, WA, Feb. 1997.


  • Stack-based typed assembly language. Proc. ACM Workshop on Types in Compilation, Kyoto Japan, (April 1998) (with K. Crary, N. Glew, and D. Walker).

  • Type-based assembly language. Proc. ACM Symp. Principles of Programming Languages, San Diego, CA (Jan. 1998) (with D. Walker, K. Crary, and N. Glew).