This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-03-12
Channels
- # arachne (1)
- # beginners (26)
- # cljs-dev (53)
- # cljsrn (1)
- # clojure (140)
- # clojure-italy (13)
- # clojure-russia (14)
- # clojure-spec (5)
- # clojure-uk (6)
- # clojurescript (52)
- # datascript (4)
- # datomic (11)
- # dirac (11)
- # emacs (12)
- # hoplon (9)
- # jobs (4)
- # lein-figwheel (1)
- # off-topic (29)
- # om (10)
- # om-next (1)
- # pedestal (3)
- # protorepl (1)
- # re-frame (16)
- # ring (12)
- # rum (27)
- # slack-help (12)
- # spacemacs (27)
- # unrepl (19)
- # untangled (26)
- # yada (8)
The dumbest (line-based, char-based would need some escaping) multiplexing layer I can think of is: every line (in & out) starts by a number followed by space and the actual line. 0 is reserved for creation/destruction of in & out pairs.
@dominicm https://en.wikipedia.org/wiki/Multiplexing?wprov=sfsi1 here channeling concurrent repl sessions over a single connection.
@cgrand Ah, tangential to what I was asking about previously. By "repl session" do you mean the multiple isolated calls to unrepl/launch (or what it actually is)? Or something else?
Why can't it all be done via a single repl & group ids? Possibly with a few new commands for background evaluations?
It could but then it would barely qualifies as a REPL. A REPL is a single thread model by definition. I think commands should not execute in the background.
Simplicity (of model). One connection = serial execution. Want concurrency? Then use several connections.
The fun thing is that since embarking on this project a fortnight ago my understanding of what is a REPL has been refined a lot. Some points made by Rich when he added the socket repl only made sense recently to me.