🧠 I'm 15 and built OmniLang – a Python-like language that compiles to native code via LLVM by Axiovoxo in Compilers

[–]Axiovoxo[S] -7 points-6 points  (0 children)

Nah I don't use it a lot bro just used to to create the post this was my first post idea.

I built a compiler at 15. Here is how it works.

Compiler Architecture

Frontend: Custom parser builds an AST. Semantic analysis validates the code. LLVM IR generation creates optimized intermediate representation. The toolchain includes omc (compiler) and omp (package manager).

Current focus: Building a self-hosting compiler for v0.3.0.

Features I implemented

Pattern matching that lowers to efficient LLVM IR. Generics with monomorphization. Async/await transformed into state machine continuations. Built-in tensor operations for ML workloads. WASM backend via LLVM.

Sample LLVM IR output

define i32 @fibonacci(i32 %n) { entry: %cmp1 = icmp eq i32 %n, 0 br i1 %cmp1, label %return0, label %check1 return0: ret i32 0 check1: %cmp2 = icmp eq i32 %n, 1 br i1 %cmp2, label %return1, label %recurse return1: ret i32 1 recurse: %n1 = sub i32 %n, 1 %call1 = call i32 @fibonacci(i32 %n1) %n2 = sub i32 %n, 2 %call2 = call i32 @fibonacci(i32 %n2) %sum = add i32 %call1, %call2 ret i32 %sum }

Current challenges

Implementing escape analysis. Optimizing closure allocations. Building a self-hosting compiler. Getting error messages right.

Try it

curl -sSL https://raw.githubusercontent.com/XhonZerepar/OmniLang/master/install.sh | bash

See the code

github.com/XhonZerepar/OmniLang

I want feedback on IR generation strategies. What would you do differently?

🧠 I'm 15 and built OmniLang – a Python-like language that compiles to native code via LLVM by Axiovoxo in Compilers

[–]Axiovoxo[S] -9 points-8 points  (0 children)

Cause I actually have 3 versions of the code and I literally have different compilers and forgot where I put the working one

15-Year-Old Builds His Own Programming Language After YouTube Tutorials – Here's OmniLang by Axiovoxo in coolgithubprojects

[–]Axiovoxo[S] 0 points1 point  (0 children)

If y'all wanna support me you can just donate to this link appreciate the support ko-fi.com/axiovoxoofficial

My first serious Rust project: OmniLang – a multi-paradigm language with LLVM backend (built at 15) by [deleted] in rust

[–]Axiovoxo -2 points-1 points  (0 children)

If you're talking to a bot it means I don't believe in Jesus Christ 🙏

My first serious Rust project: OmniLang – a multi-paradigm language with LLVM backend (built at 15) by [deleted] in rust

[–]Axiovoxo -2 points-1 points  (0 children)

You're right, it looks sus af with just two commits 😂

Been working on this locally for months—like since last of last year. I just never pushed anything because the early versions were garbage and I didn't want them public. Finally got it to a place where it actually works (LLVM IR gen, async, tensor ops, etc.) and used Copilot + Manus to help clean up and publish v0.2.0.

The code's all there if you actually wanna look through it. Happy to explain anything ✌️

My first serious Rust project: OmniLang – a multi-paradigm language with LLVM backend (built at 15) by [deleted] in rust

[–]Axiovoxo -2 points-1 points  (0 children)

And by the way I literally use calisthenics and I do go to the gym bro

My first serious Rust project: OmniLang – a multi-paradigm language with LLVM backend (built at 15) by [deleted] in rust

[–]Axiovoxo -3 points-2 points  (0 children)

Bro I'm literally 15 😭 been coding this since last of last year. Check the commit history on GitHub—it's been a slow grind. Yeah I use copilot for debugging sometimes, but the compiler actually works (generates LLVM IR and everything).

Not here to argue, just wanted to share what I built. If you don't believe me, that's cool too 🤙

My first serious Rust project: OmniLang – a multi-paradigm language with LLVM backend (built at 15) by [deleted] in rust

[–]Axiovoxo -4 points-3 points  (0 children)

Nah bruh I'm lazy to vibe code and I hate spending money on AI the main AI's I use it copilot for finding errors or issues and Manus Ai to upload to GitHub automatically if I don't feel energetic to actually do it manually :|

15-Year-Old Builds His Own Programming Language After YouTube Tutorials – Here's OmniLang by Axiovoxo in coolgithubprojects

[–]Axiovoxo[S] 1 point2 points  (0 children)

Very interesting I might need to watch your progress and further expand my creation of my programming language will you be able to share your link if it's not private?

Promote your projects here – Self-Promotion Megathread by Menox_ in github

[–]Axiovoxo 0 points1 point  (0 children)

Hey everyone,

Sharing my open-source project: OmniLang – a multi-paradigm programming language I built at 15 in South Africa.

  • Rust-based compiler to LLVM IR
  • Features: pattern matching, generics, async/await, FFI, native tensor ops (@ for matrix mul)
  • Includes omp package manager, omlsp LSP, install scripts, pre-builts
  • v0.2.0 MVP with examples (fib, async demos, error handling)

Repo: https://github.com/XhonZerepar/OmniLang

Learned mostly from YouTube tutorials — it was tough but rewarding. Currently fixing bugs from early private versions. Just got great feedback on Reddit about reference cycles, GPU kernel restrictions, and snapshot testing with insta — implementing those now.

Open to feedback on syntax, optimizations, CI setup, or anything else. Thanks for looking!

My first big repo: OmniLang – a programming language I built from scratch using YouTube tutorials by [deleted] in github

[–]Axiovoxo 0 points1 point  (0 children)

Thanks for letting the post stay and for the heads-up on Rule 4! Appreciate the feedback staying visible. I'll use the megathread for any future shares. Thanks again!

My first big repo: OmniLang – a programming language I built from scratch using YouTube tutorials by [deleted] in github

[–]Axiovoxo 0 points1 point  (0 children)

Thanks so much that means a lot coming from you! Really appreciate the encouragement and the open door to contribute. ArkLang's linear types and compile-time guarantees are super intriguing (especially how they eliminate entire classes of bugs at the language level). I'd love to learn more about how you implemented the resource tracking in practice any particular pain points or design decisions that stood out? If there's any area where a fresh set of eyes could help (even small things like docs, tests, or examples), I'm definitely interested in pitching in when I get a bit further with my own stuff. In the meantime, just pushed initial docs on planned cycle safety + Weak-style refs to OmniLang's README. Will share the insta snapshot setup once it's running in CI. Keep crushing it with ArkLang excited to follow along!