4 ms·
I can’t really speak to Python/Ruby REPLs as I haven’t used them, and I only have experience with Clojure when it comes to Lisps (so I guess I probably shouldn’
by adamkl 6y ago
I can’t really speak to Python/Ruby REPLs as I haven’t used them, and I only have experience with Clojure when it comes to Lisps (so I guess I probably shouldn’t even be answering your question due to lack of qualifications), but I believe the big difference is that with a Lisp, the REPL is directly connected to your running codebase.
You can edit a function in a source file and send it to the REPL to be evaluated (or you can type it directly into the REPL if you really wanted to). Once the code is evaluated, it becomes part of the running application.
If you want to test a function that connects to a database for instance, you can invoke that function from the REPL connected to you running application and it will talk to the database.
As an extreme example, you can connect a REPL to a running Clojure application on a remote server and edit the code as its running (!). I like to joke that this obviates the need for Green/Blue deployments in production. ;-)