Tamas Herman

About myself

Tooling evolution

Cursive

Pros

Mostly because of the limitations, I think it’s a lot easier to teach Clojure, but it’s also faster to make new-comers effective.

Cons

Cursive vs. Emacs

For that reason, I think bbatsov’s inf-clojure has a great potential to be a beginner tool, if we could bridge the differences between the Emacs philosophy and the CUA / IDE land, by either

  1. come up with an Emacs syllabus, which is quick and easy to learn.

  2. port back some of the features into Emacs, if they are philosophically compatible

I don’t have extensive experience with the following tools, but I saw them break 1st hand, when I was trying them 1-3 years ago.

If the use of clojure-lsp would be as reliable as Cursive’s, then inf-clojure would make even more sense.

Nowadays clojure-lsp has actually already surpassed Cursive in its refactoring capabilities, but Emacs’ built-in eglot LSP client seems to be a bit flaky still and lsp-mode is a bit heavy, custom rolled, opinionated and doesn’t extensively leverage Emacs’ built-in facilities.

Treesitter integration is not really there yet stability-wise, though it would be a great way for static-analysis based

  1. syntax highlighting
  2. structural navigation
  3. structural editing, including complex refactorings

Demo

Editing

Evaluation

The following constraints are very useful for beginners IMHO and take away a lot of mental burden.