A Core Dev for the MoonBit Language at IDEA Research Institute in China! My passion lies in Programming Language Theory (PLT) 💻, and I'm always excited to dive into the low-level details of compilers and runtime systems.
I hold a Master's degree in Computer Science from NCSU (North Carolina State University) 🇺🇸. Go Wolfpack! 🐺
Feel free to reach out via email: [email protected]
My daily driver is MoonBit, but I'm also proficient in: C/C++ • Rust • Haskell • Scheme • Zig 🚀
Here are some of the major projects I'm actively working on, primarily focused on building out the MoonBit ecosystem for low-level programming and tooling!
| Project | Description | Link |
|---|---|---|
llvm.mbt |
MoonBit bindings for LLVM. It offers a C++-like interface but leverages MoonBit's robust type system for a much-improved, safer, and easier compiler development experience. | moonbitlang/llvm.mbt |
MoonLLVM |
A reimplementation of LLVM written entirely in MoonBit. It generates LLVM IR that the official LLVM toolchain can recognize and compile. Interfaces are highly consistent with llvm.mbt. 🔥 Fast! It runs ~300% faster than llvm.mbt for IR generation. |
moonbitlang/MoonLLVM |
mbtcc |
A C compiler written in MoonBit! It uses either MoonLLVM or llvm.mbt to compile C code down to LLVM IR. |
moonbitlang/mbtcc |
python.mbt |
This library allows you to use the vast Python ecosystem within the MoonBit language! Great for data plotting, scientific computing, and more! 📊 | moonbitlang/python.mbt |
openblas.mbt |
MoonBit bindings for OpenBLAS, enabling high-performance matrix computations and other linear algebra tasks. | moonbit-community/openblas.mbt |
math.mbt |
A foundational numerical computation library implemented in MoonBit. Algorithms are sourced and rigorously validated against implementations from glibc-libm, musl-libm, cepehs, and c++boost, with strict ULP (Unit in the Last Place) checks to ensure accuracy. ✅ |
kaida-amethyst/math.mbt |
| Project | Description | Link |
|---|---|---|
either.mbt |
An implementation of the Either type for MoonBit, drawing inspiration from the interfaces in Rust and Haskell for robust error handling. | moonbit-community/either.mbt |
path.mbt |
A path manipulation library similar to Rust's std::path, making it easy to work with file system paths. |
moonbit-community/path.mbt |
I'm currently planning and preparing the following exciting tasks:
godot.mbt| Using MoonBit to interface with the Godot game engine, bringing game development capabilities to MoonBit! 🎮 | moonbit-community/godot.mbtsdl3.mbt| Bindings for SDL3 to allow audio and video development using MoonBit. 🎬 | moonbit-community/sdl3.mbtMoonMIR| (Currently private) The next step forMoonLLVM: generating backend assembly code, supporting architectures like riscv64, arm, and x86.MoonJIT| (Planned) Adding Just-In-Time (JIT) compilation functionality toMoonLLVM.
I'm always open to discussing fascinating problems and potential collaborations! Feel free to open an issue, submit a PR, or drop me an email! (≧∇≦)ノ


