3 ms·
I agree that the term "REPL" is poorly chosen, since read-eval-print-loop equally applies to a Bash prompt. But in this case, it's even more than hot reloading,
by jdminhbg 5y ago
I agree that the term "REPL" is poorly chosen, since read-eval-print-loop equally applies to a Bash prompt. But in this case, it's even more than hot reloading, because you are making changes in the running application, not just in the saved source code.
With hot reloading, you can change the appearance or behavior of a button and see it reflected immediately. With a Clojure REPL, you can do that but also load in different data, trigger actions, etc.
- brundolf 5y agoThen it's possible an even broader term is needed, but "REPL", to non-lispers' minds in 2021, means narrowly "a prompt where you can type code and then hit enter and see a result". I think "hot-reloading" would be a dramatically more descriptive term even if it isn't perfectly descriptive.
- Guthur 5y agoWe do have a term for it, it's Image based programming. The primary means of interacting with said image is quite often the REPL, and so the two may have become synonymous.
- jdminhbg 5y agoTo me that term also implies that images are the primary means of distribution, as in (most) Smalltalks. That said, it's still probably a better term than REPL for the Clojure experience.
- Guthur 5y agoYes, didn't mean to imply it was unique to Lisp. And when there is little distinction between what you distribute and what you develop in then it's very apt.
- jdminhbg 5y agoRight, but there is a distinction in Clojure between what you distribute and what you develop. You aren't shipping an image, you're shipping compiled source code.
- e12e 5y agoLive patching.
- didibus 5y agoYes, I've been saying "live interactive development" instead of REPL more recently, and I think it conveys the idea much better. Since in Lisps, a REPL means: > a live integrated inside an application REPL that lets you evaluate and hot-swap every single line of code at will and on-demand all at runtime without ever needing to restart the application, while also being able to inspect the runtime state at will
- pitay 5y agoLive Editable Environment? Live Editable Program(ming)? Live Editable Programming Environment? Just what instantly comes to mind. No recommendations.