2 ms·
You're not far off from describing various lisp modes on emacs. Not trying to derail, but just share some existing art in the space. Take a look at SLIME+swank
by greggyb 6y ago
You're not far off from describing various lisp modes on emacs. Not trying to derail, but just share some existing art in the space.
Take a look at SLIME+swank for Common Lisp, or Geiser for Scheme, or Cider for Clojure.
A common architectural choice is to have a REPL buffer in Emacs, connected over a socket to the language runtime which hosts the REPL. You edit a text file, sending whatever portion of your program you want to the REPL, where it is evaluated in the runtime, with results printed back to the REPL buffer. There are advanced introspection and documentation workflows supported by being connected to a live REPL.
These protocols easily and transparently cross the network, so you have the ability to troubleshoot a production issue on a (hopefully previously-quarantined) production host exhibiting the issue. You can inspect state, recompile functions on the fly and replay the failure all from the comfort of an editor and REPL that you are familiar with from dev-time.