Hi, I'm Ethan! I'm interested in programming languages (PL) and computer architecture. I'm researching in CAPRA, a PL+hardware lab, and I'm a member of the autonomy subteam of Cornell Electric Vehicles.
I'm working on way too many things:
- fernjit, a VM and just-in-time compiler written in Rust.
- gc, a garbage collection runtime written in C.
- asmpong, pong written in x86 assembly.
- pulsar, a language for building hardware accelerators with zero-latency memory.
- hardfloat-spade for using floating-point in hardware powered by berkeley-hardfloat downstream patches.
I also contribute to open source:
- Calyx, a compiler infrastructure for hardware accelerator generators.
- Spade, a better hardware description language.
- I'm building spadefmt, an autoformatting for Spade.
- I made spade.nvim, Neovim editor support for Spade.