3 ms·
> the truth is that not all REPLs are created equal Indeed. Second to Smalltalk (where the entire environment is your REPL), the best REPL is a Common Lisp R
by SighMagi 4y ago
> the truth is that not all REPLs are created equal
Indeed.
Second to Smalltalk (where the entire environment is your REPL), the best REPL is a Common Lisp REPL. Even the most primitive of Common Lisp REPLs is more useful than a Clojure REPL. This is because the Common Lisp is designed with interactive development in mind.
In Common Lisp, an error doesn't print out a stack trace and leave you puzzling to parse its meaning – it drops you into the debugger where you can inspect the entire system (including local variables on the stack where you are), invoke whatever restarts apply, modify code and continue on.
- the-alchemist 4y agoTrue, the CL REPL is more useful than the Clojure REPL, but CL has a 20-30 year head start in development. Plus, Clojure was developed as a hosted language, and runs on .NET, Javascript, JVM, and even Dart (in-progress). Since exceptions are quite deeply integrated into those platforms (as opposed to conditions), it has "bled through" to the Clojure APIs, and, in turn, REPL. Folks have written a CL-style condition/restart library for Clojure (https://github.com/IGJoshua/farolero https://github.com/IGJoshua/farolero) too. https://www.youtube.com/watch?v=zp0OEDcAro0 https://www.youtube.com/watch?v=zp0OEDcAro0 video too.