-

Package Manager with SQLite
Prove v1.4 ships a package manager. Packages are distributed as .prvpkg files — SQLite databases containing pre-checked AST, type signatures, and comptime-resolved assets. The entire implementation uses only Python’s standard library: sqlite3, urllib, hashlib, struct. No git, pip or pesky node_modules. This post covers why we made the choices we did and how the pieces…
-

Building GUI Apps in Prove
Most programming tutorials jump straight to web apps or REST APIs. But there’s something deeply satisfying about a small, self-contained desktop tool — a thing you build in an afternoon that just works, no browser required, no server to deploy. Prove’s Graphic module makes this easy. This post walks through building GUI apps in Prove,…
-

One Parser to Rule Them All
April 2026 Prove v1.3.0 ships a major architectural milestone: the legacy recursive-descent parser is gone.Tree-sitter is now the sole parser for every stage of the compiler — syntax checking, linting,code generation, and the LSP. Alongside that migration come new verbs, better diagnostics,and the foundation for lint-driven code quality. Tree-sitter as the only parser Since v1.2.0…
-

Why Intent Matters
Compiler Optimization Through Verbs: Why Intent Matters What if the compiler knew exactly what your function was supposed to do — before it even saw the implementation? That’s the core idea behind Prove’s verb system. And it changes everything for optimization. The Problem with Traditional Compilers Most compilers work from the inside out. They analyze…
-

Prove Getting Started
Getting Started with Prove: Intent-First Programming Prove is an intent-first programming language that compiles to C, then to native binaries. With a focus on clarity and safety, Prove makes you think about *what* your code should do before *how* it does it. Why Prove? Traditional languages let you write anything syntactically valid. Prove enforces intent…
-

The Acceleration Loop
Why Building a Compiler Makes You Better at Building Compilers There’s a counterintuitive truth I’ve discovered while building Prove’s self-hosted compiler: starting from zero isn’t slower than starting with a head start. It’s faster. Not immediately, of course. The first months were brutal. Every bump in the road felt like fighting the machine. But then…
-

AI Can’t Generate Code
I ran an experiment last week. I took a real task — a small order validation function — and asked a capable AI assistant to write it in Prove. It failed. Repeatedly. I fixed one error, gave it back the compiler output, and watched it generate new errors. Six rounds before anything close to correct…
-

Setting up CI and CD
I have spent a lot of time working on setting up CI and CD. And all around robustness of the setup. Alongside of that I also evaluate some new tools that might end up in the stack. While I’d like to just press the “start” button. I have to see a couple of more weeks…
-

DNS settings to pay attention to when hosting email
Tech-nerd alert ⚠️ issued for this post! Back in the days, if someone asked me to set up an email service. My response was: “Thanks, but no thank you.” I preferred not to take on the task. I’m good. And honestly it REALLY was a hassle! While that still holds somewhat true, with new DNS…


