Gregor Richards

University of Waterloo

Welcome to the.gregor.institute, academic home of Gregor Richards. My personal home page is codu.org.

I teach at the University of Waterloo School of Computer Science. My office is DC3118. When applicable, my office hours are listed on the course web page of the course I am currently teaching. Students are advised to look there.

I do research in programming languages, and in particular the co-design of Just-in-Time compilers and gradually typed programming languages. I teach at the University of Waterloo.

This web site is being reconstructed. More content may be here later. Maybe.

Teaching

I frequently teach CS241 (Foundations of Sequential Programs) and CS442 (Programming Languages). You can find information on the current offerings of each of those at their respective web sites.

Research

My research is in programming language and virtual machine design, in particular dynamic and gradually-typed languages.

My current research in this direction is in spooky action at a distance: a JIT technique by which speculative optimization is deoptimized not by decisions made while running the speculative code, but at distant locations which actually change the underlying assumptions. For certain speculation, this could substantially increase performance.

My current student working on this is Jeremiah Ikosin.

Contact Me

You may contact me by email.