Recently, my interests focus on compiler optimizations. kobayashi-compiler is an optimizing compiler we built for a compiler challenge. It compiles SysY (a C-like language) to armv7. For some courses at Tsinghua University, I also added a RISC-V backend for teaching purposes.
I'm currently doing an internship at Oracle Zurich, working on GraalVM. Some of my contributions to the Graal compiler and Espresso have been merged into graal. It's always exciting to see my contributions making real-world applications faster.
It's fun to dive into the low-level details of computer systems. During my undergrad, I built:
- A RISC-V CPU written in Verilog, supporting privilege modes, interrupts, exceptions, and virtual address mapping.
- A software implementation of a router running the RIP protocol.
- A toy OS kernel written in Rust (rCore lab).
- And of course, kobayashi-compiler.
Computer science is about designing abstraction layers, and designing programming languages is a particularly exciting one.
- Mdverif: A simple formal verifier for a simple language.
- IonaLanguage: Compiles lambda calculus with abstract data types to C++ template metaprogramming.
I'm a competitive programming enthusiast. I have set problems for CCF CSP (Certified Software Professional), THUPC (Tsinghua University Invitational Programming Contest), THUWC (Tsinghua University Programming Winter Camp), and the graduate admission programming test for the CS department at Tsinghua University. I also assisted in setting problems for APIO (Asia-Pacific Informatics Olympiad) and CCF NOIP (National Olympiad in Informatics in Provinces).
- mana9er: A lightweight daemon framework for Minecraft servers
- improve-python-int: In CPython, the conversion between
strandintused to have poor performance. This was a proof of concept to improve it. - dnspod-pyddns: A python DDNS client for DNSPod.
- wordle-solver: A solver for finding the optimal strategy of Wordle.