
Engineers.SG
2 HN recommenders · recommended in 5 months, 2018–2022
1:18:42 · 14K views · Nov 1, 2016
Elias Martenson presents his Emacs-based workflow for building a web application (the Potato chat platform) with Common Lisp on the backend and ClojureScript on the frontend. He demonstrates SLIME, Paredit, CIDER and debugger-driven interactive development. The talk is 79 minutes and was given at Emacs SG.
HN commenters point to it as a live demonstration of interactive Lisp development, including compiling single functions in a running program and debugger-driven workflows.
5 comments from Hacker News
The workflow for slime/sly and swank/slynk described at the end of the article is standard if you are in the Emacs world. Sometimes I work in an Org file, sometimes in a lisp file directly. In both cases I will C-x C-e (eval-last-sexp) or run blocks, or the whole file (depending on Org vs lisp file). It is copy and paste on steroids (same for slime-eval-defun were you can be working deep inside some large function and update the whole without changing your view). There are some examples of developing in the debugger in [0] around 55 minutes (linked). This video also has great examples of other crazy interactive development workflows and is worth watching in its entirety if you are interested in this kind of thing. 0. this video
The Potato open source chat platform has a Common Lisp backend and a Clojurescript frontend. There is a fascinating talk by one of the authors on Youtube [0], and the code is on github [1]. A relatively new Web Application Environment called Radiance may also be worth looking at.[2] [0] this video [1] [LINK] [2] [LINK]
I've used Common Lisp for this purpose. You get instant results without even having to reload. You can simply compile a single function while the code is running. I did a talk about this a few years back: this video
The sound in this video is pretty bad, but several years ago I did a talk showing how this development style work on a real project, and I think it may answer some of these questions. this video
A few years back I did a presentation on this very topic. Some people have said they appreciated it so I'm sharing a link here in the hope someone find it useful: this video