emacs

neumann 2025-11-22T03:13:49.606849Z

I'm not an Emacs user, but I'm working on the State of Clojure Survey, and I'm trying to put together the popular modes for interactive Clojure development (REPL integration). Am I missing a popular mode from this list? • CIDER • inf-clojure • Monroe • Rail

neumann 2025-11-22T08:01:41.492899Z

@bozhidar That’s helpful. Thank you! I’ll take a shot at updating in the morning. I’m still curious if it is worth having paredit, parinfer, smartparens, and lispy in the list since I have the higher level question about structural editing.

practicalli-johnny 2025-11-22T10:34:50.126149Z

@neumann my suggestion to structure the Emacs specific questions in the survey as follows (hopefully I didn't miss anything). The options for each question are in alphabetic order. Note: I can create something similar for Neovim/vim too if interested.

Which Emacs Version do you currently use
- 29.x
- 30.x
- 31.0 (from nightly/git)
- something else

Which Emacs distribution do you currently use
- Build from source code
- Emacs Plus
- Homebrew
- Operating System package (Debian, Arch, Nix, etc.)
- something else

What Emacs configuration do you currently use
- LambdaIsland Corgi
- Doom
- Prelude
- Roll my own
- Spacemacs
- something else

Which Clojure language modes do you currently use
- clojure-mode
- clojure-ts-mode (new Treesitter based clojure-mode)
- inf-clojure-mode

Which Clojure REPL package do you currently use
- CIDER
- inf-clojure
- Monroe (nrepl client)
- Rail
- something else

Which Language Server Protocol Client do you currently use
- lsp-mode
- eglot (Emacs built-in)
- something else

Which Structural Editing packages do you currently use
- lispy / lispyville
- paredit
- parinfer
- smartparens
- vim-style editing
- something else

Which packages for LLM/AI tools do you currently use
- ECA (Editor Code Editor)
- something else

➕ 1
lread 2025-11-22T12:16:51.352599Z

Oh that’s quite awesome, @jr0cket!

Harold 2025-11-22T13:49:00.430749Z

Yup! @jr0cket's list is 100% correct to my eyes. It's a few more questions, but all of those are relevant to emacs users, and the questions are all well structured for data analysis.

bozhidar 2025-11-22T14:16:01.571679Z

CIDER works with both clojure-mode and clojure-ts-mode, so as worded above this is misleading. clojure-mode / clojure-ts-mode is orthogonal to whatever REPL client (or something else) you're using. One uses the traditional (and quite basic) regex based parsing, the other uses TreeSitter.

Harold 2025-11-22T14:24:25.960709Z

So, change "- clojure-mode (CIDER)" to "- clojure-mode (CIDER's current default)"

bozhidar 2025-11-22T14:27:41.067419Z

I'm not sure why CIDER needs to be mentioned in this context at all - I'd probably use something like clojure-mode (traditional major mode) and clojure-ts-mode (TreeSitter-based major mode). Not a big deal, though. Just want to avoid confusion in people who are not very familiar with the various bits and pieces of Emacs packages they might be using.

ericdallo 2025-11-22T14:30:12.942359Z

CIDER is just the repl part, clojure-mode and clojure-ts-mode is how emacs recognize the language with a few features, nothing related to repl

Harold 2025-11-22T14:33:20.964489Z

True, though, I suspect many people use clojure-mode after having installed CIDER, and don't really know.

practicalli-johnny 2025-11-22T14:59:25.680489Z

Good point about CIDER not being specific to language mode, its so easy to think of it all as CIDER 🙂 . I've updated those options to be 'clojure-mode' and 'clojure-ts-mode (new treesitter-based clojure-mode)'. Thanks for the feedback.

👍 1
neumann 2025-11-22T17:01:11.949539Z

@jr0cket Are you thinking a single choice (radio selection) or a multiple choice (check boxes) for those? They seem orthogonal, so that's why I'm asking.

practicalli-johnny 2025-11-22T17:33:51.856179Z

I assumed all survey questions were multiple choice.

👍 2
ag 2025-11-22T19:22:12.340119Z

Oh wow, what a thread. It almost feels like we don't even need a survey - all the people who have both Clojure & Emacs in their lives and care about it are all in here laughcry

🤭 1
😄 3
lread 2025-11-22T20:41:42.292779Z

Today, we learned that @ag cares about us, and that is nice. simple_smile

neumann 2025-11-25T22:14:22.389349Z

Here's the current draft. I'd love feedback.

💯 1
neumann 2025-11-25T22:14:44.245859Z

@jr0cket Thanks so much for the questions.

neumann 2025-11-25T22:14:53.782449Z

Thanks you everyone here who contributed!

bozhidar 2025-11-26T09:07:29.827929Z

@neumann I don’t think inf-clojure-mode should be in the question for clojure-mode and clojure-ts-mode as it’s not really this kind of major mode. (it’s a REPL major mode)

bozhidar 2025-11-26T09:08:44.385229Z

Also for the LSP question - there’s an “other” option there, but I believe there’s nothing besides lsp-mode and eglot. 😄 But admittedly there are always some more obscure Emacs packages that one could miss…

☝️ 1
neumann 2025-11-26T17:37:42.765899Z

@bozhidar Got it! I'll remove inf-clojure-mode. I see inf-clojure is already in the list below. Thank you!

neumann 2025-11-26T17:39:15.601539Z

As for "other", in some cases I expect very few of those, but I don't have a way of hearing about new things without it.

neumann 2025-11-22T03:18:13.297019Z

My impression is that these are alternatives to each other (with different features, of course), but again, I'm not an Emacs user, so let me know.

Harold 2025-11-22T03:25:22.175169Z

orthogonal to these (but highly related, and still within emacs) is another choice (`lsp-mode` vs eglot) - don't know if those are on the survey already, but I suspect understanding their use would be interesting. @ericdallo is sophisticated with such things and may have an opinion.

ericdallo 2025-11-22T03:42:02.300469Z

the ones you mentioned make sense for repl IMO @neumann, but Harold's point is really valid, it's very common to see in Clojure Emacs land people using LSP + REPL, or only REPL, AFAICS for the survey, it may make sense to consider those options.

neumann 2025-11-22T03:45:51.191329Z

Here's what I have right now. Let me know what I should add:

neumann 2025-11-22T03:46:53.485009Z

Add lsp-mode and eglot?

neumann 2025-11-22T03:49:09.688699Z

@ericdallo @hhausman Would adding those two cover what you're talking about? Should I add anything else?

neumann 2025-11-22T03:51:35.806419Z

I didn't mention it explicitly, but you correctly inferred that I'm trying to focus on choice points. The ones where getting relative counts is really interesting.

neumann 2025-11-22T03:53:08.698429Z

Updated question. I'm open to more feedback.

Harold 2025-11-22T03:56:28.687699Z

Are they check boxes or radio? --- that is, can the survey taker pick any/all? Or do they have to pick just one?

lread 2025-11-22T03:56:40.450589Z

Does https://github.com/clojure-emacs/clojure-ts-mode fit into this list?

neumann 2025-11-22T03:56:53.990199Z

Checkboxes. You can pick as many that apply.

Harold 2025-11-22T03:57:33.937099Z

oh, yes, that's cool. In that case clojure-ts-mode is also interesting.

👍 1
Harold 2025-11-22T03:58:18.017849Z

Is there a separate question about paredit vs. smartparens? And how many holy wars are we trying to start 😉?

👍 1
neumann 2025-11-22T03:58:42.213479Z

You're seeing the whole list. I can add whatever you think is useful.

lread 2025-11-22T03:58:49.218339Z

You might want to include them as links so folks who haven't a clue what some of these are (hint: me!) might learn about them.

neumann 2025-11-22T03:59:06.460199Z

Survey Monkey won't let me link things.

Harold 2025-11-22T03:59:12.086699Z

Oh wow, but yeah, at this point we're surveying emacs users?

lread 2025-11-22T03:59:15.277559Z

Bad monkey!

🤣 2
neumann 2025-11-22T03:59:38.179619Z

Oh, to be clear, these options are only shown if someone says their primary dev environment is emacs.

Harold 2025-11-22T03:59:58.210569Z

Nice! Let me think for a moment.

lread 2025-11-22T04:00:30.196729Z

There are flavors of emacs usages too. Like spacemacs and doom emacs... and folks who roll their own vanilla emacs configs.

👍 1
ericdallo 2025-11-22T04:01:04.372129Z

those options look good to me!

Harold 2025-11-22T04:01:49.136619Z

@ericdallo, what do you think of adding lispy , paredit, smarparens? Which do you use?

👍 1
neumann 2025-11-22T04:01:54.227029Z

I don't have any questions in the survey that try to tease out flavors of Emacs so far. If we collect that information, who would it help? How does it help?

lread 2025-11-22T04:01:55.092039Z

You might want to hear from @jr0cket who writes books on these things! He might have some great additions.

neumann 2025-11-22T04:02:56.049209Z

My goal is to try and get a sense of the distribution of use.

lread 2025-11-22T04:03:19.195469Z

I guess it would tell folks what is more popular.

neumann 2025-11-22T04:03:46.620809Z

Yeah. So if there is a lot of diversity, it's worth collecting some stats to get a sense of the distribution.

neumann 2025-11-22T04:04:00.374199Z

If I should break it into separate questions, I can do that too.

lread 2025-11-22T04:04:06.769209Z

I'd assume so.

neumann 2025-11-22T04:04:18.081379Z

Right now, my plan is to just have a long list of modes and have people select the ones they have used.

Harold 2025-11-22T04:04:26.234309Z

Will the data be able to be stratified by user's age, or level of clojure experience? I think a plot of usage of these modes against peoples level of experience would be amazing.

neumann 2025-11-22T04:04:52.033619Z

Yes. It will be stratified by level of Clojure experience and years of professional experience.

🆒 1
neumann 2025-11-22T04:04:59.490469Z

We don't collect age.

👍 1
lread 2025-11-22T04:06:01.350049Z

There are types of emacs users too. Those that love to customize their configs, and those like me, who barely know how emacs works, but are very happy with it. That might be an interesting aspect to ask about.

lread 2025-11-22T04:07:07.703159Z

I've been very happy stealing from @ericdallo's doom emacs config for years!

neumann 2025-11-22T04:07:26.114189Z

Current list

❤️ 1
neumann 2025-11-22T04:08:21.786809Z

If someone wants to give me a list of Emacs editors, I can add it as a separate question.

lread 2025-11-22T04:10:02.604419Z

Hmm... I think they call them "configuration frameworks". I think there are many, but spacemacs and doom emacs are popular.

ericdallo 2025-11-22T04:10:15.297119Z

I think Spaceemacs, doom-emacs, vanilla, and others are good options for those configuration frameworks

neumann 2025-11-22T04:10:53.792409Z

OK. Let me take a shot at writing that....

lread 2025-11-22T04:11:37.103939Z

Does vanilla really mean "none, I roll my own"?

👍 1
lread 2025-11-22T04:12:12.366939Z

Wasn't there a lambdaisland emacs configuration? Could include that since it comes from clojure-land.

neumann 2025-11-22T04:13:50.845269Z

❤️ 1
neumann 2025-11-22T04:13:52.361699Z

Feedback?

neumann 2025-11-22T04:14:59.521629Z

(I have to run out for a while, but I'll be back later. I'll catch up on the thread when I'm back.)

lread 2025-11-22T04:15:34.916229Z

Maybe it was this?: https://github.com/corgi-emacs/corgi

lread 2025-11-22T04:17:46.235509Z

Emacs key bindings is also an interesting question, maybe. Evil vs Emacs vs Other (please specify).

Harold 2025-11-22T04:24:12.885389Z

@bozhidar - small apologies for pulling you into a long thread, but you may have valuable input here. 🙇

lread 2025-11-22T04:26:16.115739Z

If you are including paredit, you should probably also include parinfer?

ericdallo 2025-11-22T04:28:40.956119Z

I don't know how deep @neumann wanna go, Emacs can go deeper in every direction :) I'm pretty satisfied with current questions about major packages and config frameworks, TBH not sure how relevant it's is to know about parens manipulation tools especificaly

lread 2025-11-22T04:32:12.878719Z

It's interesting to know what folks prefer. Maybe paredit-like vs parinfer? Just two?

lread 2025-11-22T04:32:52.198159Z

Time for 💤

neumann 2025-11-22T05:18:15.858909Z

@ericdallo I know what you mean about going deeper in every direction!

neumann 2025-11-22T05:21:24.298209Z

I'm not so sure about including a questions about modal editing (vim style) vs standard emacs key bindings. I think that's getting further away from Clojure-related things.

👍 1
neumann 2025-11-22T05:27:39.337029Z

I am interested in the editing of Clojure code. Is this a good list for that? paredit, parinfer, smartparens, and lispy

Harold 2025-11-22T05:40:49.907909Z

yes; depending on your zoom level, parinfer isn't quite the same as the other three, but they're certainly all related to 'editing Clojure code'. simple_smile

neumann 2025-11-22T05:54:51.372419Z

I'm thinking of adding this question for everyone. I think it would be good data to have independent of editor:

neumann 2025-11-22T05:55:41.274849Z

If I add that, should I still keep paredit, parinfer, smartparens, and lispy in the list of modes to ask about?

neumann 2025-11-22T06:11:12.058409Z

neumann 2025-11-22T06:11:29.437109Z

Made the question more specific.

neumann 2025-11-22T06:12:04.460919Z

I need to get some sleep. I'll back in the morning. 💤

bozhidar 2025-11-22T06:46:05.573549Z

Btw, I one thing you should keep in mind is that many people who are using some configuration like Spacemacs have no idea what modes they are using. 😄

👍 1
bozhidar 2025-11-22T06:47:31.661609Z

The list of Emacs packages seems quite exhaustive - perhaps the only more notable Clojure-related package missing there is clj-refactor.el.

bozhidar 2025-11-22T06:48:50.151009Z

I'm also wondering if adding only clojure-ts-mode without clojure-mode will be a bit misleading, as I don't expect all users to be aware there are 2 Clojure major modes these days, so some people might think that clojure-ts-mode is clojure-mode.

👍 1
bozhidar 2025-11-22T06:53:52.594969Z

What's Rail, btw? I have some vague memory of seeing something about it, but when Googling I can't think anything. I don't see such a package in MELPA either.

neumann 2025-11-22T07:58:39.409439Z

https://github.com/Sasanidas/Rail

👍 1