How much do you intend to get into REPL-adjacent tooling?
Nothing more than providing links to such tools, without any preference expressed, trying to be exhaustive and to summarize briefly the problems they address.
I am well aware that there is no objectively best dev setup and that people’s taste vary greatly in this area (I can tell, I tried using Emacs 6 times and failed), so I’ll try to remain very generic and neutral.
It will be interesting to see what commonalities can be found across REPLs for a generic REPL guide.
In this regard, I intend to write an “what to expect from editor integrations” section, examples:
- load current buffer in REPL
- switch REPL namespace to current buffer
- send form before / surrounding caret to REPL
For each of these, I’ll describe what it mechanically translates to using a bare command-line REPL and an open editor.
I will also add links to common REPL libraries (tools.trace, Sayid, spy-scope, scope-capture etc.): I’ll also add a brief description of what problem they address.
Finally, I’ll add a ‘community resources’, with links to various articles, talks and screencasts with a synopsis for each.
Perhaps walking people through the bare command-line REPL available from clj would be ideal, even though it’s far from most people’s eventual workflow and lacks many interface affordances.
It does lack many affordances, but I also think it’s useful to start with a ‘bare minimum’ CLI REPL, to get an understanding of how the more integrated tools work behind the scenes.
To summarize: I don’t want to get into the (opiniated) rabbit hole of ‘advanced workflows’ - I’d rather equip the reader with enough background that she can do that herself, and also talk a bit of the ‘architectural’ challenges that arise from REPL-based development (making code REPL-friendly etc.).
@dave.liepmann but hey, don’t take my word for it are you interested in giving me feedback on the draft?