Samuel Thomas
Sammy (he/him)
About
I'm a graduate student studying with James Bornholt at UT Austin. I'm interested in the study of programming languages, their design, and how to write compilers for them. I'm currently working on techniques for compiling languages for a new wave of exotic energy-efficient and performant hardware.
I wouldn't be where I am today without Rachit Nigam and Adrian Sampson. Go check out their work, they do cool stuff.
Contact
Email: sgt@cs.utexas.edu
Desk: GDC 5.702B
Github: sgpthomas
Projects
Automatically synthesize a compiler
It's very time consuming and difficult to write compilers, especially for exotic specialized hardware. Diospyros showed that you could use e-graphs (egg) to build a very competitive rewrite based compiler for an architecture with explicit vector lanes. The performance and quality of the compiler depends a lot on the particular rewrite rules used. Finding these rules is a tedious, error-prone process. Ruler presented a technique to automatically generate rewrite rules from an interpreter that gives a DSL semantics. Their technique works well for generating rewrite rules for optimization, but it does not scale to generating rules for compiling. I'm exploring ways of combining these two techniques so that we can automatically generate efficient (but slow) compilers.
[ Github ]
Publications
Other stuff
Some side projects.
My Emacs config.
Shift.
I help run GRACS (the CS graduate student representative organization).
Here's the reading list to the DiRP (Directed Reading Program) that I held in Spring 2023.