3 ms·
It does not offer the full experience. It has no breakloop and no ability to browse and edit the live running environment. It has no ability to rummage around i
by mikelevins 6y ago
It does not offer the full experience. It has no breakloop and no ability to browse and edit the live running environment. It has no ability to rummage around inside the dynamic environment of a suspended function call, much less to redefine the suspended function or the types of its parameters, nor to restart the suspended call. Indeed, the JVM makes some of that stuff really inconvenient to do.
You cannot do everything from the Clojure repl in the way you can from a Common Lisp repl or from a Smalltalk worksheet.
I don't know that the Clojure language design forbids it; you might, for example, implement Clojure on top of a Lisp or Smalltalk environment and hook up their tools to Clojure through its interop. That might work, and ruricolist has been working on such an implementation called Cloture:
https://github.com/ruricolist/cloture https://github.com/ruricolist/cloture
But existing Clojure implementations don't have the full set of tools.