First class options for Socket REPL

Description

The Socket REPL, even more so with the advent of prepl, seems to be the recommended and most reliable way for Clojure Repl-ing.

Yet at the moment the only way to bootstrap one is by using a very long argument to a -J option. For instance this how a node CLJS repl could be launched.

There a couple of problem with this, mainly the -D and :args vector wrapping. Not to mention the fact that the user might not know that that particular JVM property accepts edn.

All these details seem implementation details the launcher should hide, the goal being making super easy for users to launch a socket REPL for their editor of choice.

The counterargument of that would be the the editor could build the command line, but this of course is brittle: ideally all the editor knows is address and port and from then on it can query info from the REPL directly (with some sort of feature advertising like in unrepl for instance).

The proposal would be to make some socket repl options first class citizens and some "variable". In any case avoiding the whole JVM property thing. The first class can be the aliased.

Which options are first class is not clear to me yet so tooling maintainers/creators need to think about it a bit but it is good to have a ticket out there for discussing.

Environment

None

Assignee

Alex Miller

Reporter

Andrea Richiardi

Labels

None

Approval

None

Patch

None

Priority

Major
Configure