Hey!
I've been playing around a little bit with Common Lisp lately, and
I've found the interactive restarts to be pretty amazing. So, I've
implemented something similar to them in Clojure/Cider!
https://github.com/czan/dont-give-up
It has support for programmatic restarts, but also includes some
nrepl middleware which will (when paired with the additional elisp
code) prompt the user for what to do upon failure.
The restarts should interact sensibly with normal JVM exception
handling. I've put a lot more thought into the exception/restart
code than I have into the middleware/elisp code, so the cider
interface is pretty hacky at the moment. If you have experience
writing nrepl middleware or extending Cider, I'd love your help!
One big problem with this at the moment is that Cider doesn't let
you do multiple evaluations in parallel, and the interactive
prompt blocks the thread until you tell it what to do. This means
you can't evaluate anything else until you have chosen a restart,
which limits how interactive the system really feels. Fixing this
has to be done in Cider itself, I believe.
It still needs a polish/improvement to be as good as slime, but
it's a start!
Carlo
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
signature.asc
Description: PGP signature