This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-12-12
Channels
- # adventofcode (49)
- # announcements (22)
- # beginners (33)
- # calva (5)
- # clj-kondo (6)
- # clojure (30)
- # clojure-europe (6)
- # clojure-japan (1)
- # clojure-nl (9)
- # core-logic (17)
- # data-oriented-programming (1)
- # datalevin (1)
- # datomic (2)
- # gratitude (2)
- # jobs (2)
- # kaocha (8)
- # lsp (1)
- # malli (8)
- # meander (8)
- # off-topic (18)
- # rdf (1)
- # re-frame (4)
- # reagent (16)
- # releases (1)
- # sci (1)
- # sql (1)
- # tools-deps (4)
- # xtdb (3)
nREPL 0.9 is out and it finally brings the long-requested Unix file socket support (and a ton of other small improvements)! Check out the release notes (https://github.com/nrepl/nrepl/releases/tag/0.9.0) and the release blog post (https://metaredux.com/posts/2021/12/12/nrepl-0-9.html) for more details. Enjoy! P.S. CIDER 1.2 is right around the corner. 🙂
What I am missing in the blog post is why you would use unix domain sockets for nREPL
The issue number in the changelogs associated with this point to a different issue about keyword completions
If we use 0.9 from Calva, will we need to make some other changes or will it use regular TCP sockets?
@U04V15CAJ I was also looking for this - it’s https://github.com/nrepl/nrepl/pull/204
No one needs to change anything regarding Unix sockets, that's just another option for the people who need it. I mentioned briefly in the blog post that Unix sockets are a bit faster and definitely more secure for local development, which was the reason why we've added support for them. You don't want someone to connect to an unsecured REPL server running on your computer (if you accidentally bound it to a public address).
@U0ETXRFEW By default nothing changes, you have to start the server in a different manner for it to use Unix sockets (and clients need to be updated to support them). E.g. instead of a host/port you should just ask for the socket file and setup the connection accordingly.
@U051BLM8F How do unix sockets make the "port file thing" simpler, as alluded to in the issue/PR?
Jack-in knows the filename directly, which makes it trivial to connect to the right socket. With the random port we had to wait until it's known, so that's a small win.
Right now jack-in doesn't support Unix sockets, only cider-connect
does. (but the necessary changes for jack-in are pretty small)
You can connect CIDER by using the local-unix-domain-socket
special hostname with cider-connect
: M-x cider-connect RET local-unix-domain-socket RET nrepl.sock RET
Later versions might pick up on .sock
extension and just offer to connect the socket in the current folder or something along those lines.
Btw, thanks for all the feedback! I've fixed the broken link and I added more info about the benefits of using Unix sockets.
SCI, a Clojure interpreter suitable for DSLs and scripting, v0.2.8 Full changelogs: https://github.com/babashka/sci/blob/master/CHANGELOG.md#v028
org.babashka/sci {:mvn/version "0.2.8"}
https://github.com/clojure/tools.build v0.7.0 16eddbf is now available • write-pom - TBUILD-23 - specify explicit output path with :target • Update to tools.namespace 1.2.0 • Update to tools.deps.alpha 0.12.1090
Just released version 0.1.4 of https://github.com/ont-app/vocabulary.
- contains utilities to map between namespaced Clojure keywords and RDF-style URIs.
- has support for #lstr "language tags@en"
reader macro.
Thanks to Mathieu Lirzin (https://github.com/mthl) for his
contribution making the dependencies of this project much
lighter-weight.