July 21, 2025
(mostly) modeled the current irl state
Competition bot for VEX Robotics 2025-2026 Push-Back Season
The Beginning.
So the other day I was doing a project in Rust, particularly using Const Generics to do some cool stuff with Matricies and Compile-time Verification of arithmetic. However, as I tried to implement the Kronecker Product (if you don't know what that is; good), I encountered limitations with the current implementation of Const Generic Expressions.
This, combined with a few other small gripes with the language, and running on 2am energy; I had the idea. If Rust is so bad, why not make my own? And GLang was born.
Some Goals I have with this language is;
- Similar Syntax to Rust (my beloved)
- Simple & Robust Type System
- Easy binding with C Libraries
- Actually usable Const Generics
- Memory Safety via Borrows & Ownership
- (Potentially) Async-forward Design
So far just a simple Bazel project to make a bootstrapper in C. This Bootstrapper is just a simple compiler for the language, feature complete enough to compile a GLang project complex enough to implement itself. That's right; Compiler Inception. I chose to write this in C instead of Rust for one simple reason; LLVM.
I'm not insane enough to write a full compiler; complete with an optimization system, linker system, and compilation for target systems (Assembly D:). So, like Rust, I'll be using LLVM to actually do the hard part of compiling to a usable program. LLVM is written in C++, and does have a C API, alongside bindings in Rust. However I thought it might be easier to just remove a layer of abstraction and just work directly with C. It had also been a while since I've worked with C, so I thought it might be a fun challenge to return to my roots.
Whether I get very far in this; I have no clue. A fully functional Programming Language is a massive project and incredibly stupid idea [INSERT XKCD-927 HERE], however I excel in stupidity, so hopefully this doesn't get dropped after 30 seconds :3
This was widely regarded as a great move by everyone.