I'm greatful to Juan of cl-buchberger, and Louis of emacs.ch and everyone else for their direction and encouragement towards the common lisp native linedit in-repl line editor, and the super-massive development system that is gnu emacs. Development not just being words in a text file, and putting resources into the experience of hacking lisp itself as itself is fundamental in all of the MIT-CADR lispm, interlisp medley, and common lisp including McCLIM I am now working with. With all that said, xterms and an rlwrapped repl or even just the repl are a very good development environment. In plan9 acme, the idiom is to create a dynamic experience using a mouse to sweep out and drop code somewhere, or run it, or pass it to different programs. This is more or less possible just using xterms in obvious ways. I feel like I've buried the lead: Somewhat inevitably, files of code are edited in a specialised text editor of some kind. We have to be able to selectively recompile files into one running lisp image, without cold booting it. This is the important functionality of common lisp's ASDF and its :package-inferred-system. When extending or rewriting one file within a project, whether or not it's normally loaded, this intelligently re/compiles that into the current image: (asdf:operate 'asdf:load-op :project/path/to/file :force t :verbose t) :verbose t prints lots of extra information as it runs :force t triggers recompilation (without force, a package won't be reloaded). I use rlwrap for comfort, so C-a C-e C-w and so forth work, and I am able to search line history using C-r which is pretty close to autocomplete. So if we swap between file editing and one continuously running live repl, we have hot re/compilation of specific parts of a project as we work with it. It's also possible to unload packages and so forth.