Vog |>
Why Vog Footguns Glimpse
RHYMES WITH FOG  ·  IN DESIGN |> COMING SOON

The language built for AI agents to write.

So the code they ship is code you can trust.

follow the build on bluesky |>
|> 01   THE COST OF A BUG

Not every failure costs the same.

Three kinds of wrong, in ascending order of what they take from you. The gap between the second and the third is the whole game.

PAY ONCE
Correct code
You pay when it's written, and never again. The baseline.
BOUNDED
Loud failure
It breaks on the spot. You learn it's wrong at once, right where it happened, and you pay there. Annoying, but cheap.
UNBOUNDED
Silent failure
It ships looking correct and bills you later — in production, detached from the cause, compounding the entire way there. The most expensive line of code is the one that looks fine.

AI floods you with the silent rung specifically — plausible-looking wrong code, faster than review catches it. Vog's whole move is to convert silent failures into loud ones.

|> 02   IMPOSSIBLE BY DESIGN

Whole categories of bug that can't happen.

Not lint rules. Not discipline. The language gives you no way to write them.

see all of them →
CAN'T HAPPEN
No null.
A type holds a value or it doesn't — there is no third state to forget. Reaching into an absent value is a compile error, not a 2 a.m. page.
CAN'T HAPPEN
Unhandled errors
will not compile.
every result is Ok/Ng · every case is exhaustive
CAN'T HAPPEN
Red, green, red.
A test with no assertion passes forever, proving nothing. So Vog breaks your code on purpose and fails any test that doesn't go red — no toothless green.
Injection, de-risked by construction.
dangerous sinks take structured input, not strings
Money never silently rounds.
Decimal by default, arbitrary-precision Int — the rounding error has nowhere to originate.
No NaN. No Infinity.
Float is finite-only. Nothing non-finite to mint or propagate.
No macros. No reflection.
what you read is what executes
No silent overflow, no divide-by-zero.
Int is bignum · division returns Ok/Ng
No truthiness.
Conditions take a Bool and nothing else — no accidental zero, empty string, or null slipping through as “false.”
Statically typed, of course.
|> 03   A GLIMPSE

Real syntax. A taste, on purpose.

There's no playground yet — a philosophy you can't run is just a vibe. Vog code moves through one result shape: Ok or Ng (“no good,” say “nog”) — a typed failure value, never a hidden exception.

the full glimpse →
checkout.vog
accept parse_cart(raw: Json) -> Ok(Cart) | Ng(:invalid)
pure   total(cart: Cart) -> Ok(Decimal)
emit   render_receipt(amount: Decimal) -> String

flex checkout(raw: Json) -> Ok(Done) | Ng(_) raw |> parse_cart() |> total() |> render_receipt() |> save_receipt() end
Every function says what it can do
accept validates, pure computes, emit renders, flex touches the world.
clamp_low.vog
pure clamp_low(x: Int, floor: Int) -> Ok(Int)
    Ok(max(x, floor))
end

testrows clamp_low "floor is enforced" pass below_floor: 1, floor: 7 -> Ok(7) pass above_floor: 9, floor: 7 -> Ok(9) end
Red, green, red
A test with no assertion fails; vog invert flips the logic and checks green goes red.
a sneak peek, limited on purpose · no runnable playground yet
|> 04   OPEN DEVELOPMENT, SOON

The repo isn't open yet. The thinking is.

There's no product to click into yet, so the argument is the proof. We catalogued twenty-eight ways a language's design lets you fail, banded every one honestly — unrepresentable, caught at compile time, or merely minimized — and benchmarked Vog against fourteen languages without trying to make it win.

That work is public before the code is. Read the footgun catalog and judge the rigor for yourself.

NOW
The Bluesky feed is the open development.
Design decisions, dead ends, and code glimpses posted as they happen. Following is the front-row seat.
COMING
The open repository.
When it opens, followers are there first. No email list, no waitlist — the follow is the whole thing.

Vog is still in design. No mailing list, no launch date — just the build, happening in the open.

follow the build on bluesky |>
Vog |>
{{ tagline }} in design |> coming soon