Previously, I worked with Sam Tobin-Hochstadt, creating a partial evaluator for Racket's linklets.
I also participated in the Software Engineering REU program at
Carnegie Mellon University in the summer of 2018. I worked on Obsidian, a domain-specific
language for blockchain programs, which is designed in a user-centered way and incorporates typestate and linear types to catch certain
common errors at compile time. I worked on a case study evaluation, and submitted a two-page abstract
which received second place at the 2018 SPLASH Student Research Competition. One thing to note is that my work resulted in adding assets
to the state level, which couldn't be included in this submission, but is included on the poster.
Additionally, I worked with Ryan Newton on adding higher order functions and
polymorphism to Gibbon, a highly-optimized compiler that generates code which operates
directly on serialized data.
Programming languages papers are notoriously hard to read. But that doesn't stop us from trying! Often it can be even more overwhelming when around PhD students and professors who have been studying these topics for years. I started this group because I wanted to create an environment where undergraduates interested in programming languages could learn and ask questions without pressure or fear of judgment. The group meets weekly (over pizza of course) and has a fun time figuring out these tough papers together. If you're at IU, email me and I can make sure you get added to the mailing list.
We had lots of fun.
The Cox Scholarship is given in honor of the hardworking Jessie and Beulah Cox. It required me to maintain a competitive GPA and a part-time job. I worked as an IU Peer Coach, and assisted in teaching the EDUC-X 152: Mapping Your Future course.