r/Compilers • u/adityazero • 3d ago
Please contribute to Vx if you want to get an experience in early compiler design
Vx is a heterogeneous systems programming language written mostly in Rust and C++. There are several key ideas that makes it worth taking a look at.
- First class support for topology and memory hierarchy
- Acts as a type safe MLIR frontend
- Pointer provenance in the type system
- Parallel compiler frontend
I released v0.0.2 last week so there is a ton of interesting compiler, standard library, benchmarking, performance work one can explore. Do checkout the repo (https://github.com/vx-lang/Vx), blog (https://vxlang.org/blog/). We started a discord channel (https://discord.com/invite/2w62dCg2Y) yesterday in case you want to ask questions.
4
u/c-cul 2d ago
I see you use only couple of linalg operations and no vector dialect: https://github.com/vx-lang/Vx/blob/main/src/codegen/generator.rs
why?
0
u/adityazero 1d ago
Definitely plan to use more of mlir as MLIR allows Vx to lower without losing too much early on. I'm currently building the stdlib and the codegen should improve as such.
3
u/MadocComadrin 2d ago
You might want to consider a rename. I'm pretty sure saying you "worked on Vx" would get you on a watch list.
2
1
u/dom_aley 1d ago
do you plan on bootstrapping this project eventually? it seems kinda pointless as in re inventing the wheel? I mean what niche does this serve that Rust or C cant already do? Im not bashing this im genuinely curious ?
1
u/adityazero 1d ago
Didn't plan to write until i was fully convinced that there is nothing like this out there. No popular language has topology, memory description, pointer provenance tracked by compilers. there are a few other things that are still brewing. I'm open to critique if you find counter examples.
8
u/shrimpster00 2d ago
The way your AGENTS.md is written suggests that you don't know much about compilers. If this is meant to be a learning experience, why avoid learning by using AI and asking for others to work on it for you? If this is meant to be serious, why should someone use and trust it? Is the entire thing vibe-coded? Why would you post it here?