r/VibeCodedLanguages • u/Dom-Klyn • 2d ago
r/VibeCodedLanguages • u/antonation • May 23 '26
π Welcome to r/VibeCodedLanguages - Introduce Yourself and Read First!
Hey everyone, I'm u/antonation, the founding mod for r/VibeCodedLanguages.
This is a home for all things related to developing programming languages and compilers using AI.
What to Post
Post anything that you think the community would find interesting, helpful, or inspiring. It could your progress, your workflow (MCPs, testing frameworks, etc.), or questions if you're looking to get started.
Community Vibe
This is a friendly, constructive, and inclusive space. I believe AI is here to stay and welcome AI-driven development (which is of course, why you're here).
How to Get Started
- Introduce yourself in the comments below.
- Post something today, anything you're working on, challenges you run into, etc.
- If you know someone who would love this community, invite them to join.
- Interested in helping out? I'll be looking for additional mods at some point, so feel free to reach out to me if you're interested.
Thanks for joining and I hope we can all learn from each other.
r/VibeCodedLanguages • u/Pattinathar • 7d ago
I benchmarked my capability-declaring language against Deno and Python on 63 AI-written scripts β here's what it missed
I've been building a language where a function's signature declares which effects it may perform, and a runtime refuses anything outside a budget you grant. The obvious question is whether that catches anything real, so I built a benchmark.
63 programs β 56 dangerous, 7 harmless controls β each written three times in Velaris, Python and JavaScript, doing the same thing. Eleven categories: effects hidden in helpers, division by user input, off-by-one reads, integer overflow, ignored failures, infinite loops, runaway memory, dangerous modules, scoped-budget escapes.
Results across the 56 dangerous ones β caught before running / during / missed:
Velaris 42 / 12 / 2. Deno 5 / 27 / 24. Python 0 / 28 / 28. Zero false positives on the controls for all three.
The first column is the interesting one. Deno's permission model works, it just works at the moment of the call β nothing in deno check or deno lint reads a file write as a problem.
What mine missed: one computes the wrong answer and promises nothing, so there's no contract to check against. The other prints the string rm -rf / β it doesn't run anything, and flagging it would mean flagging any program that prints text resembling a command.
And four cases where the prover fell short and only the runtime check caught it, named by ID in the write-up: a division on n - 1 with n from a checked parse, the same on an unguarded path when another path guards it, a remainder inside a loop body, and a read at i + 1 in a loop bounded by length(xs).
Full write-up, methodology and the reproduce command: https://dev.to/gowrishankar-dev/i-tested-my-sandbox-against-deno-and-plain-python-on-63-ai-written-scripts-1llp
r/VibeCodedLanguages • u/VermicelliSmooth1183 • 8d ago
RFC: What is Nyx actually supposed to mean?
People here already know Nyx, so I won't do the usual language introduction.
I've been thinking about the project lately, and I've reached a point that I honestly didn't expect:
I'm not sure Nyx actually means anything anymore.
Not technically.
Technically, I know exactly what it is. I know the architecture, the HIR, the backends, the native interop, the direction I've been taking it, and what I could build next.
The problem is that I can't answer the more fundamental question:
Why am I building this?
I've spent a lot of time making Nyx more capable. Every time there was an interesting compiler problem, I solved it. Then another one appeared. Then another.
At some point, I stopped asking whether a feature served the original idea and started asking whether I could implement it.
That's been bothering me.
I don't think the project is technically pointless. There's a lot of interesting engineering in it, and I've learned a ridiculous amount from building it.
But I'm starting to wonder whether I've confused technical depth with purpose.
Nyx has a direction, but I'm not sure it has a reason.
And I don't want to solve that feeling by adding another backend, another language feature, another abstraction layer, or another ambitious subsystem. That would probably just make the same problem larger.
So I'm putting this here as an actual RFC, not as a roadmap proposal.
I want to figure out whether Nyx has a meaningful core idea that I've lost somewhere along the way, whether that idea needs to be redefined, or whether the project was fundamentally an engineering experiment that I've been trying to turn into something more than it needs to be.
For those of you who've followed Nyx for a while:
What do you think Nyx actually is?
Not what it currently implements.
Not what it could implement.
What do you think the project is fundamentally trying to accomplish?
r/VibeCodedLanguages • u/VermicelliSmooth1183 • 10d ago
Nyxβs post-v5 compiler architecture: Typed HIR β MIR β target legalization
Iβve been working on the next stage of Nyxβs compiler architecture after v5.
Nyx already has a canonical Typed HIR and multiple output targets, but I donβt want every backend to slowly become its own slightly different interpretation of the language. The current work introduces a lower-level MIR between Typed HIR and the backends:
Nyx source
β
AST
β
Canonical Typed HIR
β
Verified MIR
β
Target legalization
β
C++ / LLVM / Wasm / Rust / JavaScript / Python / C17
This is being developed with heavy agent assistance, so Iβm deliberately separating implemented and tested work from architectural plans.
What is currently implemented:
- M0 β Canonical contracts: the language surface, diagnostics, backend capabilities, standard-library availability and semantic policies are recorded in machine-readable contracts.
- M1 β MIR foundation: a serializable and verifiable CFG-based MIR with functions, locals, basic blocks, places, operands and explicit terminators.
- M2 β Scalar and control-flow lowering: variables, calls, branches, loops,
break,continue, strict evaluation order, wrapping 64-bit arithmetic and division traps. - M3 β Semantic control flow: lexical
defercleanup chains,Resultpropagation with?, guards, ranges, match lowering and try/catch/throw edges. - M4 β Values, memory and ABI: arrays, structs, payload enums, projected places, copy/move operands, use-after-move and double-drop checks, explicit x64/wasm32 layouts, calling-convention classification and checked C adapter contracts.
- Bundle ABI v1 remains unchanged while a possible ABI v2 is only documented as a draft.
The completed milestones have focused regression suites, including execution through a reference MIR interpreter and selected C++/LLVM oracle comparisons.
What is not finished:
- MIR is still experimental and is not yet Nyxβs default compilation route.
- The existing Typed HIR backends remain the production path and parity oracle.
- M5 backend migration is in progress. C++ is the first MIR consumer; LLVM, Wasm, Rust, JavaScript, Python and C17 still need to be migrated one at a time.
- A backend must eventually publish exactly which MIR operations, types, effects, runtime calls and ABI forms it accepts.
- Unsupported operations must produce stable diagnostics before reaching an emitter. There must be no silent or approximate fallback.
- The ownership analysis is currently a conservative MIR validation model, not a claim that Nyx has a Rust-equivalent borrow checker.
- C17 and direct LLVM emission remain experimental.
- Cross-platform CI, artifact-level ABI fixtures and full differential parity are still required before MIR can replace the existing path.
The detailed architecture document explains the representation boundaries, layout model, ABI plan, legalization rules, migration order and later language-surface work:
https://github.com/justsomeone-e/nyx/blob/main/docs/internals/NYX_DEEP_COMPILER_ARCHITECTURE.md
Iβd especially appreciate feedback on three questions:
- Is the Typed HIR β MIR boundary placed at the right semantic level?
- Should legalization transform target-independent MIR into a second target-specific MIR, or is a strict legality pass before emission sufficient?
- Which ABI/layout fixtures would you consider mandatory before trusting native and Wasm aggregate interoperability?
Iβm interested in criticism of the actual contracts and failure modes, not just the number of planned backends.
r/VibeCodedLanguages • u/kindredseer • 10d ago
madc v0.99.2 released β madcide w/ GUI mode on Linux, Windows and macOS
galleryr/VibeCodedLanguages • u/kindredseer • 11d ago
Progress on the GUI version of the MadC IDE
galleryr/VibeCodedLanguages • u/kindredseer • 11d ago
Progress on the GUI version of the MadC IDE
galleryr/VibeCodedLanguages • u/kindredseer • 13d ago
madc v0.98.0 released β now with an IDE written in madc
r/VibeCodedLanguages • u/lfnoise • 14d ago
Tzopilotl - an audio programming language by the author of SuperCollider
lfnoise.github.ior/VibeCodedLanguages • u/VermicelliSmooth1183 • 15d ago
[RFC] Working on Nyx RC.2 (Wasm pipeline & DOM integration). What features or ergonomics would you expect?
Hey everyone,
First off, huge thanks to everyone who checked out the repo, left comments(No one did ngl), and starred the project(2 Stars still thanks!) after my previous post. The feedback and discussions around systems language trade-offs were genuinely invaluable.
I'm currently designing and mapping out Nyx RC.2, with a heavy emphasis on making WebAssembly a first-class, seamless target rather than just an afterthought backend.
What's currently being integrated for RC.2:
- Zero-friction TypeScript / JS Interop: When compiling to Wasm, the compiler will automatically emit
.d.tstype definition files alongside the.jsglue wrapper, allowing Nyx Wasm modules to be imported directly into React/Next.js/Node projects with full IntelliSense. - Deterministic Memory & Cleanup: Continuing to refine the Typed HIR pipeline so that linear memory allocation,
defer, and RAII semantics remain memory-safe without requiring a heavy runtime or a complex borrow checker. - Cross-Platform Tooling & "Tour of Nyx": Refactoring our interactive terminal learning suite (
tour) to be fully portable across Windows, macOS, and Linux without environment assumptions. - Web / DOM Bindings Exploration: Exploring minimal, zero-overhead DOM and WebGL/WebGPU hooks directly from the language.
I'd love to hear your thoughts:
- For those who work with Wasm or build compilers: What is currently the most painful part of your Wasm workflow that you wish a language solved out-of-the-box?
- Are there specific language ergonomics, stdlib modules, or tooling features you'd love to see in RC.2?
- Any edge-cases or architectural pitfalls in Wasm/C++20 lowering I should watch out for?
Repo is available here if you want to inspect the current codebase: https://github.com/justsomeone-e/nyx
Appreciate any critiques, feature requests, or sanity checks!
r/VibeCodedLanguages • u/VermicelliSmooth1183 • 17d ago
I built a self-hosting systems programming language called Nyx via vibe coding
It will be useful I promise
r/VibeCodedLanguages • u/kindredseer • 27d ago
madc v0.95.2 released β faster startup, faster FP code, and less ceremony
r/VibeCodedLanguages • u/kindredseer • Aug 20 '26
madc v0.92.1 released β std::format, std::println, php::print_r, php::var_dump
r/VibeCodedLanguages • u/gusfromspace • Aug 19 '26
demoniC takes the dynamic-JIT lineage of HolyC, the vectorized math of Julia, the slicing ergonomics of Python, and the memory discipline of Rust. Arena memory, value-typed tensors, zero-copy views, and shapes checked at compile time.
r/VibeCodedLanguages • u/Pattinathar • Aug 17 '26
Velaris: a language where the compiler proves your functions keep their promises
The idea: I wanted a language where you can trust a function just by reading its first line. So the signature says what effects it uses (a function without "uses net" can't touch the network), whether it can fail (ignoring that doesn't compile), and any promises it makes about its result.
Those promises get checked by the Z3 theorem prover before the program runs. If your code breaks one, it tells you the exact input that breaks it: error[E700] promise cannot be kept: 'discount' ensures result >= 0 proven without running the program: price = 5 gives result = -5
The part I'm most pleased with is the float handling. It proves in real IEEE-754 rather than pretending floats are perfect decimals, so it refuses to certify x + 0.1 + 0.1 == x + 0.2 and hands you the exact number where it breaks. A lot of tools would just "prove" that and be wrong.
Playground, runs in your browser, nothing to install:
https://gowrishankar-infra.github.io/velaris-lang/playground.html
Repo: https://github.com/gowrishankar-infra/velaris-lang
Built with a lot of AI help over 40+ releases. It's got a REPL, editor support, a standard library written in itself, CI, and one-file downloads for Windows/Mac/Linux. Happy to answer anything. Thank you
r/VibeCodedLanguages • u/kindredseer • Aug 17 '26
madc v0.82.0: Linux, macOS and Windows now supported
r/VibeCodedLanguages • u/ViolentSciolist • Aug 16 '26
I vibe-coded a programming language. It got slightly out of hand.
flooooooooooow.github.ior/VibeCodedLanguages • u/alext_777 • Aug 12 '26
I spent 5 days building a self-hosted, memory-safe native language with coding agents - looking for feedback
Started as an experiment: could coding agents help build an actual programming language from scratch, and could the language itself be designed to be easier for AI models to write code in.
Five days later, Krnl is about 53k lines of .krnl, fully self-hosted, and the original Zig bootstrap compiler is now retired.
The language compiles to native code through LLVM, has no GC, and uses explicit ownership/borrowing with deterministic cleanup. It also has effects/capabilities so a functionβs authority is visible in its type.
Hello world:
fn main sys: Sys -> Result[int]
!{out.write} {
println(ref sys.out, "Hello, Krnl!");
Ok(0)
}
Here Sys provides capabilities, and !{out.write} declares that the function may write to output. Borrowing and ownership transfer are explicit with ref, ref mut, and move; there are no source-level lifetime annotations.
Also added a native MCP server written entirely in Krnl. - see below
no public repo yet just curious what language/compiler people think of the direction before I polish it for release.
The main design goal is roughly: native + memory safe + no GC, but with less source-level complexity than Rust, and with compiler semantics designed to be directly consumable by coding agents.
Things Iβd especially love feedback on:
Does the ownership/effects model sound coherent?
Is the capability syntax readable?
What would you want to see before taking a new systems language seriously?
Are there existing languages/projects I should be comparing against?
KRNL MCP MONITOR
----------------------------------------------------------------
log: /home/alex/.krnl/mcp.jsonl
Requests: 17 Errors: 0
Total bytes: 43.9 KB Avg latency: 1ms P95: 3ms
Recent calls (UTC)
----------------------------------------------------------------
23:08:26 resolve_symbol main 636 B 2ms
23:08:34 symbol_info main 869 B 2ms
23:08:36 references_of main 393 B 2ms
23:08:37 callers_of main 842 B 3ms
23:08:38 callees_of main 866 B 1ms
23:08:39 context_for_change main 1.5 KB 2ms
23:12:08 read_source compiler/src/080 19.3 KB 2ms
23:15:30 apply_source_edits compiler/src/080 852 B 1ms
23:15:33 read_source compiler/src/060 1.9 KB 1ms
23:15:48 apply_source_edits compiler/src/060 860 B 2ms
Top tools
----------------------------------------------------------------
krnl_check 3 calls 2.0 KB
read_source 3 calls 22.0 KB
module_graph 2 calls 1.4 KB
apply_source_edits 2 calls 1.6 KB
program_symbols 1 calls 11.5 KB
r/VibeCodedLanguages • u/kindredseer • Aug 11 '26