What's the value in using a REPL? I've always wondered the advantages/disadvantages of using a REPL are (if there are any) as opposed to eval-print-last-sexp and then undoing the text printed (or saving it if that's what you're into).

In other words, how can using a REPL be objectively more productive than using the latter workflow of just working purely in buffers.

Using a REPL seems like it's more of a constraining environment than an empowering one.

Can anyone give an example where using a REPL (e.g., IELM) is objectively better than just using a buffer?

  • Define "better". The question encourages opinion-based answers, so it should be closed, IMO. In addition, it should be closed because you ask multiple questions.
    – Drew
    Apr 24 at 20:24
  • @Drew refactored question Apr 24 at 21:22
  • as to your bonus question: no, I don't think CL has anything like the scratch buffer. Or maybe every file in CL can be a scratch buffer. Which is partly explains the value of having a repl in Common Lisp. Otherwise, I agree with Drew: this question is really multiple, opinion-based questions, and lacks the focus expected here. One of the lisp Reddit groups might be more conducive to this kind of discussion
    – Tyler
    Apr 25 at 0:28
  • @Tyler this is not an opinion-based question. There might be something or some functionality that exists in a REPL environment that is measurably better and doesn't exist in a scratch environment that I'd like to know about Apr 25 at 2:04