From 8cf834dd55fb1396e0d634c7a888f2d4f5965f53 Mon Sep 17 00:00:00 2001 From: giles Date: Sat, 28 Feb 2026 15:04:13 +0000 Subject: [PATCH] Add doc on how sexp protocol fundamentally changes the web Covers: APIs as separate concept disappearing, front-end framework collapse, AI as first-class citizen, browser monopoly breaking, content portability, client-server blur, computational governance, and the Unix pipes analogy. Co-Authored-By: Claude Opus 4.6 --- docs/sexpr-web-transformation.md | 73 ++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 docs/sexpr-web-transformation.md diff --git a/docs/sexpr-web-transformation.md b/docs/sexpr-web-transformation.md new file mode 100644 index 0000000..f2acaf3 --- /dev/null +++ b/docs/sexpr-web-transformation.md @@ -0,0 +1,73 @@ +# How S-expression Protocol Changes the Web + +**What happens when the wire format is structured trees, verbs are open, and every node speaks the same language.** + +--- + +## The URL Bar Becomes a REPL + +Today URLs are nouns — you go *to* a page. With open verbs, every interaction is a complete expression. The browser isn't a document viewer, it's a program evaluator. The distinction between "visiting a website" and "calling an API" disappears entirely. + +--- + +## APIs Stop Existing as a Separate Concept + +Right now every web service has two interfaces: the human one (HTML) and the machine one (REST/GraphQL JSON). They're built separately, documented separately, versioned separately. With sexp on the wire, there's one interface. A browser renders it visually, an AI agent reads it structurally, a script pipes it — same stream, same verbs, same schema. The entire API economy (Swagger, OpenAPI, Postman, API gateways) becomes unnecessary infrastructure. + +--- + +## Front-end Frameworks Collapse + +React, Vue, Svelte exist because HTML is a document format being forced to act as an application format. The framework bridges that gap — maintaining state, diffing virtual DOMs, hydrating server markup. If the server sends a tree that *is* the application state, and the client evaluates it directly, the framework layer has nothing to do. Components are functions. State is bindings. The runtime is tiny. + +--- + +## AI Becomes a First-Class Web Citizen + +Today an AI agent scraping a website is doing archaeology — parsing HTML that was designed for human eyes, guessing at structure, breaking when CSS classes change. With sexp, the AI reads the same structured tree the browser renders. It can issue `(reserve ...)` or `(vote ...)` as naturally as it calls tools. The web becomes as easy for machines to use as it is for humans — which is the opposite of today, where we bolt on APIs as an afterthought. + +--- + +## The Browser Monopoly Breaks + +HTTP+HTML is so complex that only three organisations on earth can build a competitive browser engine. A sexp evaluator is a few thousand lines of code. Anyone can build a client — a Rust terminal app, an Emacs mode, a watch face, a screenreader. The web stops being "whatever Chrome renders" and becomes a protocol that any program can speak. + +--- + +## Content Becomes Portable by Default + +Today moving your blog from WordPress to Ghost to Hugo means converting between incompatible formats. If content is sexp — just trees — it's trivially parseable, transformable, and storable. Content-addressed hashing means the same post has the same identity everywhere. Your writing isn't trapped in a platform's database schema. + +--- + +## The Client-Server Distinction Blurs + +HTTP is rigidly asymmetric — clients request, servers respond. With bidirectional sexp streams, your laptop is a server too. It has an inbox. Other nodes can send it activities. The cooperative compute mesh isn't a radical addition — it's just what happens when clients and servers speak the same language in both directions. The web returns to its peer-to-peer roots. + +--- + +## Governance Becomes Computational + +`(propose ...)`, `(vote ...)`, `(ratify ...)` aren't metaphors — they're protocol-level actions with the same standing as `(GET ...)`. Decision-making processes can be expressed, validated, and executed by the protocol itself. A cooperative doesn't need a separate governance platform — the web *is* the governance platform. + +--- + +## The Real Shift + +HTTP was designed for physicists sharing documents in 1991. Everything since — cookies, JavaScript, AJAX, REST, WebSockets, SPAs, GraphQL — has been patches on top of that document-sharing model. The sexp protocol starts from what the web actually is in 2026: a network of programs exchanging structured data, where humans are one of many consumers. That's not an incremental improvement on HTTP. It's a different answer to the question "what is a web request?" + +--- + +## The Unix Pipes Analogy + +The closest historical analogy is Unix pipes. Before pipes, programs were monolithic. After pipes, small programs composed freely. The web today is monolithic — giant applications behind opaque interfaces. Sexp on the wire makes the web composable again. + +| Before Pipes | Before Sexp Protocol | +|---|---| +| Monolithic programs | Monolithic web apps | +| Custom file formats | HTML + JSON + GraphQL + WebSocket frames | +| No composition | No composition (APIs are afterthoughts) | +| **After Pipes** | **After Sexp Protocol** | +| Small composable tools | Small composable nodes | +| Universal text streams | Universal sexp streams | +| `cat | grep | sort` | `(GET ...) → (swap! ...) → (render ...)` |