Recently Written

REPL Driven Development as an analogy for proper AI Driven Development

I recently “discovered” using an LLM to code with, and was looking forward to doing some “REPL Driven Development” on it. Unfortunately, I discovered that all of the vibe-coded vim plugins just use vim as a (terrible) multiplexer for the Claude Code CLI program. The Emacs plugin claude-code-ide.el does it right by having text selection and other send-to-repl-like actions like a proper Lisp IDE does.

This was merely a lisp thing to do because the parentheses clearly define selection to send. That’s no longer an issue, the LLM can filter out the garbage in a way that a GOFAI symbolic rule-based pattern matcher can’t.

The command line program likes to use diffs to edit files, and that is reasonable, but vastly inferior to REPL Driven Development from a scratch file. Below are some of my notes from 2019 for more context on using the lisp REPL. With RDD, you will never type something directly into a REPL again. “Never type into the REPL”.

It’s nice using grep to lookup some code I might have written 5 years ago that would have been ephemeral and lost at the REPL.

REPL driven development

Stuard Halloway’s 2017 talk at Chicago Clojure:

vimeo
slide notes

MOST important keystrokes

a comment in the scratch buffer.