Interruptible evals
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- clojure, javascript
- Domain
- backend-api-design, devtools
Research direction
Start by reading the existing piggieback support copied into the dirac nREPL middleware, then trace the weasel protocol and Chrome debugger protocol evaluation paths. Determine how an interruption request would travel through these layers and how in-flight evaluations should be handled. Done means the full-stack interruption behavior is implemented and tested, including the stated leakage concern.
Written by the indexing model from the issue text.
Description
nREPL has support for interruptible evaluations (e.g interrupting long running Clojure code snippet). I have copy&pasted supporting code from piggieback to dirac nREPL middleware, but never tested it. It won't work for in-flight weasel evaluations anyways, it will leak them I guess. Javascript does not have a good way how to interrupt long-running code.
Because we are using Chrome's debugger protocol for evaluations in dirac, we can interrupt in-flight code executions. This would require an extension of weasel protocol for interruption requests.
I don't want to spend time on it but if anyone would feel that this is important feature to add I'm open for an addition. This task is considered very hard because you would have to understand full stack.
- Dominant language
- Clojure
- Stars
- 775
- Forks
- 29
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from binaryage/dirac
-
Difficulty 3/5 1-2 days Newbie friendliness 38/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 30/100
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
clojure-emacs/cider#4203 ·
-
.Team/QueryingPlatform Priority:P2
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
clj-commons/antq#329 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100