ud83dudea7 UNDER CONSTRUCTION ud83dudea7 welcome to pricklypear ud83cudf35 a lisp machine that lives in postgres u00b7 sign the guestbook u00b7 best viewed in netscape 4.0 at 800x600 u00b7 built in public u00b7 ud83dudea7 UNDER CONSTRUCTION ud83dudea7 welcome to pricklypear ud83cudf35 a lisp machine that lives in postgres u00b7 sign the guestbook u00b7 best viewed in netscape 4.0 at 800x600 u00b7 built in public u00b7
UNDER CONSTRUCTION welcome to my homepage!! 226128148 last updated 2026 226128148

Pricklypear

What if WordPress was a Lisp Machine? (Nobody has asked this question)

No, seriously, what is this?

Honestly, I don't know. It's kind of like a Smalltalk. You, or your agent, can write functions. They get saved in the database and reloaded. Those functions can render web pages, so it's kind of a web framework.

I gotta tell ya. Using it is beautiful. You don't need an API at all. Even your local agent can just use the REPL. I plugged in an LLM to it and it just... worked? It understood the harness and successfully started writing functions.

Look, I don't even care if anybody uses this at all. I just want people to know about this design pattern. For small and medium business this is insanely powerful.

Fully Interpreted Lisp in Postgres

The AST is stored in Postgres. You can browse all the functions in the system. It's like the PHP interface of WordPress, except not terrifying.

htmx forward

A lot of functions render htmx partials. This makes things pretty modular and composable. We have sexp wrappers for HTML and CSS.

The Great American Codebase

I designed the codebase to be read like a book. I like to print codebases out to read them. There's a lot of AI slop in here, but I mark where I've inserted my own comments. My LaTeX pipeline is kind of weird rn so please consider this PDF incomplete and aspirational.

I live here now

It's multiuser, and it's fun. I have bible study, todo, zettelkasten, flashcards, calendar. Writing apps is insanely easy. You aren't stuck with weird elisp or everything is a buffer rules.

5-minute tour

After you log in (or from scripts/repl.sh against a local image):

  1. scripts/repl.sh
  2. (define hi-page (lambda () (render-html "<h1>Hello</h1>")))
  3. (route "/hello" "hi-page")
  4. open /hello in the browser
  5. edit at /edit/hi-page
  6. optional: (propose-function "double" "lambda of int x -> (* x 2)")

Agents: no special API

Remote agents (Agora, pi, curl on a phone) do not need a custom REST surface. Fetch the public bootstrap doc, take a username/password from a human once, then POST Lisp to /api/eval.

Machine contract: /.well-known/agent.json u00b7 Prose: /agent.txt. No secrets in either document.

Read agent.txt agent.json

Get in

Browse the source or download the book without an account. To run code in the image, log in u2014 workspace home, Functions, Pages, Data, and the REPL stay private.

Code browser Book PDF Agent instructions Sign in
Pricklypear u00b7 hosted release u00b7 background u00b7 roadmap u00b7 signup u00b7 guestbook u00b7 agent instructions u00b7 concepts (after login)
[ prev | list | random | next ] the pricklypear webring
BEST VIEWED IN NETSCAPEHAND-CODED LISPNO JAVASCRIPTPOSTGRES POWEREDAGENT READYSIGN GUESTBOOKY2K READYVALID HTML 4.01
you are visitor0000042since 2026

this site is hand-coded in a lisp machine and rendered by a cactus 240159140181 powered by postgres, htmx, and questionable life choices. no javascript was harmed. best viewed at 800x600.