I think the major difference between the Clojure REPL experience and most other language's REPLs that I've worked with is the fact that Clojure REPLs can connect to a running stateful system (or a situated program as Rich Hickey coined it), and allows you to explore and manipulate the system's state and behavior dynamically at runtime, which makes it an incredibly powerful tool for building and debugging such a system.
Most REPLs I've used in other languages are strictly for evaluating individual commands in an isolated, stateless manner.
Most REPLs I've used in other languages are strictly for evaluating individual commands in an isolated, stateless manner.