3 ms·
That's ignoring the REPL :) You rarely reboot a program under development in Clojure - you rather connect your editor to its network REPL and live code everyth
by jeremiep 10y ago
That's ignoring the REPL :)
You rarely reboot a program under development in Clojure - you rather connect your editor to its network REPL and live code everything from there.
This makes not having a condition system a minor inconvenience at best.
- kbp 10y agoUntil you get an error at the REPL.
- jeremiep 10y agoWhich is fixed interactively at the same REPL. You're just restarting a computation instead of resuming it. Rather than recompiling/rebooting the entire program and losing its state in the process. However, this style of development has taught me to write code that's resilient to such errors in the first place (as it, errors wont leave the program in an invalid state), and the end result is that I feel much more confident putting code in production and restarting computations at the REPL is effectively free and feels the same as using the condition system for the most part.
- kbp 10y agoThat's my point--you're restarting the 'computation' instead of resuming it, compared to restarting the program. It's the same benefits you acknowledge, just, moreso.
- jeremiep 10y agoIt depends on the context. Resuming a request handler after the client timed out is no good. Even in CL in those cases you're fixing at the REPL and having the client redo the request. Or you're developing your function in a sandbox and restarting the computation has no difference to resuming it in the first place.
- jeremiep 10y agoWould people who downvote care to explain WHY they're downvoting? Downvoting is a terrible way to disagree with a comment.