nrepl

https://github.com/nrepl/nrepl || https://nrepl.org
bozhidar 2020-05-15T06:53:21.091900Z

So, if I understand correctly you want to be able to echo some request params in the responses, right? I assume your client will processing those specially if they are present?

bozhidar 2020-05-15T06:54:24.092600Z

There’s nothing like this today, but I guess it’d be easy to add a middleware that just attaches certain request params to the responses.

flowthing 2020-05-15T08:05:02.094300Z

@bozhidar Yes, exactly. Turns out it was pretty straightforward to build what I needed by just using op IDs to match requests and responses, and I can use that functionality for other things as well.

borkdude 2020-05-15T13:28:39.098200Z

Is there an overview of bencode libraries for various languages that support streaming to build nREPL functionality?

borkdude 2020-05-15T13:28:57.098500Z

I found one for python and for Rust. Obviously we have one for Clojure

borkdude 2020-05-15T13:32:38.098800Z

I guess this page serves as such a resource: https://nrepl.org/nrepl/beyond_clojure.html

borkdude 2020-05-15T13:35:37.099400Z

ah, btw @bozhidar - the nREPL server in babashka has now been broken out into a library: https://github.com/babashka/babashka.nrepl so the reference on that page could be changed to that

👍 1
dominicm 2020-05-15T17:47:08.099700Z

Python

dominicm 2020-05-15T17:47:24.099800Z

I think clojure-vim maintains it now, but was written by Chas/Stu, I can't remember now.

borkdude 2020-05-15T18:36:43.100300Z

@dominicm "it" being?

dominicm 2020-05-15T18:38:02.100400Z

the bencode library

dominicm 2020-05-15T18:38:20.100500Z

https://github.com/clojure-vim/nrepl-python-client

dominicm 2020-05-15T18:38:48.100700Z

https://github.com/clojure-vim/nrepl-python-client/blob/master/nrepl/bencode.py bencode is inlined admittedly

borkdude 2020-05-15T18:40:46.101200Z

it's nice how in almost any language the bencode impl ends up being around 200 lines

dominicm 2020-05-15T18:41:13.101400Z

fireplace has a really short one

borkdude 2020-05-15T18:41:46.101900Z

so probably clojure-vim/nrepl-python-client should also be listed there?

dominicm 2020-05-15T18:41:54.102100Z

yeah, it should

borkdude 2020-05-15T18:42:13.102300Z

and the fireplace one

borkdude 2020-05-15T18:42:34.102800Z

the page lists server implementations, but I think it's also useful to list client impls