Welcome to the.gregor.institute, academic home of Gregor Richards.
I am an assistant professor at the University of Waterloo School of
Computer Science. My office is DC2508. 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.
Feel free to email me at , talk to me on
Jabber/XMPP/Google Chat at username
firstname.lastname@example.org, or AIM on the screen name
In the winter of 2016 I am teaching CS462: Formal Languages and Parsing.
Concrete Types for TypeScript
ECOOP 2015. Gregor Richards, Francesco Zappa Nardelli and Jan Vitek.
OOPSLA 2013. Gregor Richards, Christian Hammer, Francesco Zappa Nardelli, Suresh Jagannathan and Jan Vitek. [pdf]
One VM to Rule Them All
Onward! 2013. Thomas Würthinger, Christian Wimmer, Andreas Wöß, Lukas Stadler, Gilles Duboscq, Christian Humer, Gregor Richards, Doug Simon and Mario Wolczko. [pdf]
OOPSLA 2012. Fadi Meawad, Gregor Richards and Jan Vitek. [pdf]
OOPSLA 2011. Gregor Richards, Andreas Gal, Brendan Eich and Jan Vitek. [pdf]
ECOOP 2011. Gregor Richards, Christian Hammer, Brian Burg and Jan Vitek. [pdf]
PLDI 2010. Gregor Richards, Sylvain Lebresne, Brian Burg and Jan Vitek. [pdf]
Thorn — Robust, Concurrent, Extensible Scripting on the JVM OOPSLA 2009. Tobias Wrigstad, Johan Östlund, Gregor Richards, Jan Vitek, Bard Bloom, John Field, Nathaniel Nystrom and Rok Strnisa. [pdf]
At my heart I'm a coder. When I learn something new from research, the
itch to actually code it up is almost unbearable. Here are a few things
I've written that could potentially be useful or interesting to others:
Plof, a programming language in
which the grammar and semantics of the language are defined at runtime,
and changeable at any time during execution.
Fythe, the next
generation of Plof's VM. Nowhere near complete yet, but includes an
in-progress JIT and shares all of the more dynamic features (language
defined at runtime) with Plof.
GGGGC, or Gregor's
General-purpose Generational Garbage Collector. A non-conservative
moving garbage collector that is usable from C (with only a few,
reasonable restrictions). Reasonably performant and great for writing
VMs, e.g. Fythe.
Everybody needs a life outside of research, right? I write music in a
neoromantic style influenced by Borodín, Chopin, and various other
composers who I'm not particularly worthy of comparing myself to. More
information is available on my music
At the moment, (slightly) more useful information on me can be found at
my personal homepage, codu.org.
Interested in my hat collection? You can decide which one I'll wear!