This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-02-09
Channels
- # beginners (205)
- # boot (6)
- # cider (22)
- # cljs-dev (41)
- # cljsrn (4)
- # clojure (97)
- # clojure-dev (61)
- # clojure-greece (40)
- # clojure-italy (8)
- # clojure-russia (16)
- # clojure-spec (18)
- # clojure-uk (34)
- # clojurescript (14)
- # community-development (1)
- # cursive (45)
- # datomic (39)
- # fulcro (66)
- # jobs (2)
- # lein-figwheel (1)
- # lumo (9)
- # off-topic (8)
- # parinfer (98)
- # portkey (8)
- # re-frame (81)
- # reagent (54)
- # remote-jobs (17)
- # ring (2)
- # shadow-cljs (217)
- # spacemacs (32)
- # sql (24)
- # test-check (6)
- # unrepl (73)
- # yada (12)
don't know where Rich is going with this but if nothing else "prepl" is fun to say đ
I think he really wants something like this to be part of Clojure itself. Originally we wanted nREPL as part of Clojure and thatâs why Chas agreed to move the project under clojure-contrib, but we all know how things played out and how bad this was for nREPL in the end of the day. I guess he finally realized that the design of the socket REPL is not exactly very convenient for tooling, but he might be pursuing some other goal as well.
>>> Tasseography is a divination or fortune-telling method that interprets patterns in tea leaves, coffee grounds, commit logs, or wine sediments.
remote-prepl
puzzles me: why not reuse the existing server code? itâs just a different accept
.
Why not allow tap>
to have a tag argument? Forcing the user to structure the tap data in a way amenable to triage/routing/filtering?
It hinders upgradability too.
:read
only on :ret
means that the:
⢠the client doesnât know when the server has started working
⢠you donât get :read
info for exceptions
Hmmm, why is there no differentiation between a thrown exception value and a returned exception value?
what do you mean? looking at the code if the return value is an exception you get a :ret
msg not a :err
msg, no?
so I agree with you: one canât tell an exception being thrown from an exception being returned
also: why bother converting :ns
to string and exceptions to tagged-literals here? shouldnât it be done in out-fn
?
I'm still grocking the why of tap>
it's so that tooling can send messages back to the client??
that would be absolutely necessary, but its an unnecessary feature as its trivial to create dispatch
The problem that I see is that if some code start to use tap>
as log
is that creating dispatch wonât be easy as youâll have a lot of variance in the payloads
sorry I mean I'm getting the tap design and how its useful, I've got no attachment to the dispatch decision
I really see tap>
use as (tap> {:id 25 :type :tool/completion :complete (tool/complete "asso"))
and ultimately I think this is why there is no dispatch, b/c depending on your use you are going to need another level of dispatch granularity
everybody gets all the messages!, I'm going to run my chat server and my repl through tap
!
an interesting thing is that clojurescript needs two different types of tap>
for tooling
or not, I have to put some thought into how you would bootstrap the cljs-repl
using these new tools
I have to say I am a bit disappointed, and there no way to see it differently. Unrepl is there, for everybody to contribute to, I wish we did not have so many different clones of the same thing...we'll see how it pans out.
@richiardiandrea well it validates the core design of unrepl
and life may get easier because of changes made for prepl (but wonât ship until 1.10)
Lol I keep rewriting this sentence over and over...I am just thinking that I would have taken some additional step to make this part (tooling) a bit more open to contributions...
Don't worry I will switch off my rant mode đ
Fixed đ tnx
no, really Iâm not sure I get what you are saying; complaining about the âthrow features over the walâ approach?
I mean, we have a project here with a relatively good support from the community...I am just afraid it will get shadowed. Instead it could have been additive, I hope it will be additive as you were saying and the two will thrive along together.
But yeah, we know how Clojure works đ
Currently Iâm seeing unrepl as a toolkit for creating custom (private) protocols for tools. It provides a foundation, some design decisions have been made etc. But unrepl is not âconsumer techâ: got a tool? got a plain repl? it works!
Yep that is definitely nicer