This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-08-28
Channels
- # announcements (2)
- # babashka (36)
- # beginners (29)
- # bristol-clojurians (2)
- # calva (3)
- # cider (102)
- # circleci (7)
- # clj-kondo (5)
- # cljs-dev (7)
- # clojure (117)
- # clojure-europe (23)
- # clojure-korea (1)
- # clojure-nl (1)
- # clojure-spec (15)
- # clojure-uk (47)
- # clojurescript (43)
- # code-reviews (1)
- # community-development (1)
- # conjure (32)
- # cursive (1)
- # datalog (15)
- # datomic (14)
- # emacs (18)
- # fulcro (9)
- # helix (23)
- # jackdaw (1)
- # jobs-discuss (10)
- # meander (8)
- # membrane (57)
- # off-topic (4)
- # portal (2)
- # re-frame (22)
- # reagent (1)
- # reitit (9)
- # reveal (3)
- # rewrite-clj (14)
- # shadow-cljs (22)
- # spacemacs (27)
- # sql (34)
- # testing (6)
- # tools-deps (40)
- # vim (5)
- # vrac (15)
- # xtdb (2)
Quick Q about inf-clojure
: if I start a REPL manually, with a Socket REPL running too, I can inf-clojure-connect
to it just fine, type into it, and eval code into it (C-c C-e); if I use inf-clojure
and give it the clojure
command to start a REPL, I get a plain REPL (as expected) and can type into it just fine to eval stuff manually, but when I try to eval into it (C-c C-e) I just get a long line of ^G^G^G^G...
in the REPL and then I can't even type into it any more. What am I doing wrong?
(if it helps debug the problem, I also see [this was not relevant]Redirection Redirection Redirection Redirection Redirection
in the status line for the REPL buffer at this point)
@seancorfield can you file an issue? i can look into it over the weekend or later today. and sorry about that hangup ๐
File an issue where?
This is my first time trying to use inf-clojure
so I'm not very familiar with the ecosystem (and it's been several years now since I last used Emacs ๐ ).
Oh, I didn't know there was a #inf-clojure channel. Sorry, I should have asked there I guess.
i did a big refactor recently so it should be much easier to use and easier to extend
ah no worries. probably higher traffic here and i wouldn't have seen it there. joining now ๐
After helping a beginner yesterday navigate REBL stuff with Emacs/CIDER/nREPL, I wanted to try Emacs with just a plain REBL (REPL) or a Socket REPL. Pretty sure last time I'd tried Emacs there wasn't a way to connect to a plain Socket REPL so that's really good to see it work seamlessly. It's also a nice test of my https://github.com/seancorfield/socket-rebl lib, so everything Emacs sends to the Socket REPL gets submitted to REBL, which is the workflow I'm used to from Atom/Chlorine.
that's part of what motivated me. there's no real good socket option for emacs. i don't think inf-clojure is ready for full time development. needs a bit better story for auto completion but i really dig it for small simple things
I don't think I'll ever go back to Emacs for real development work -- it's just too painful/primitive after using Atom for nearly five years -- but at least now I know something that works without CIDER/nREPL.
I do like the idea of ditching nrepl just most projects I work on professionally are nrepl and usually lein based
Our main reason for wanting a workflow that avoided CIDER/nREPL was that we connect to REPLs in production and didn't want those dev dependencies baked into our production environment.
We have our services set up in production so there can be a .jvm_opts
file next to the JAR and our service script uses the contents when (re)starting a service, so we can easily spawn a Socket REPL on any port.
Yeah. Thereโs some stuff with subscribing to out that can be a bit hanky. Also classloader stuff with nrepl I think. Metabase has a fix for nrepl making a new classloader for each form I think
This way we can use telnet etc to interact with the production process. And possibly unrepl/unravel if we really want some luxury (since it can side-load compliment). And then we have the exact same dev UX for local and remote processes (although I have REBL running locally, always).