This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-12-10
Channels
- # 100-days-of-code (2)
- # adventofcode (188)
- # aleph (3)
- # announcements (2)
- # beginners (76)
- # boot (3)
- # braveandtrue (49)
- # cider (82)
- # clara (15)
- # clojure (101)
- # clojure-europe (4)
- # clojure-india (3)
- # clojure-italy (26)
- # clojure-kc (1)
- # clojure-nl (4)
- # clojure-norway (1)
- # clojure-russia (5)
- # clojure-uk (33)
- # clojurescript (32)
- # crypto (20)
- # cursive (34)
- # datomic (45)
- # emacs (3)
- # events (1)
- # figwheel (1)
- # figwheel-main (10)
- # fulcro (30)
- # graphql (14)
- # hoplon (12)
- # hyperfiddle (21)
- # jobs (11)
- # kaocha (7)
- # klipse (8)
- # leiningen (10)
- # luminus (3)
- # nrepl (18)
- # off-topic (232)
- # onyx (8)
- # pathom (6)
- # re-frame (30)
- # reagent (3)
- # reitit (6)
- # remote-jobs (3)
- # ring-swagger (4)
- # shadow-cljs (21)
- # spacemacs (5)
- # sql (18)
- # tools-deps (23)
- # yada (2)
so drawbridge is out (what’s the point of injecting a HTTP transport over an SSH tunneled socket repl)
binary transports are out too (ok maybe with a good amount of reflection it may be worked out)
I didn’t look into session for it 😕 (I really thought I did search the whole codebase)
now I feel less bad about creating a circular dep between session and interruptible-eval
As *msg*
is just an implementation detail perhaps you can also find a different way to track the active message.
But moving thread management to sessions is also reasonable. The only tricky part will be retaining the thread-local bindings between threads.
@bozhidar Bindings of dynvars or of ThreadLocals? I don’t know if you’ve read my latest proposal on #16: a thread per session with a caveat emptor about interrupting evaluation.
Btw in addition to interrupt in unrepl we have the ability to background the current eval (it returns immediately as a future).
Yeah, that makes a lot of sense. And solves the problem I was thinking about - namely preserving the dynvar bindings, as those are stored in the session anyways.