JuliaEditorSupport / julia-emacs

Julia support in Emacs.
Other
288 stars 62 forks source link

RFC: remove inferior-julia #109

Open tpapp opened 4 years ago

tpapp commented 4 years ago

It has been suggested in #106 to remove inferior-julia from the package. For those who are not familiar with it, it is a simple comint-based approach.

At the moment, we have the following approaches to interacting with the REPL (all of which are limited or WIP to a certain extent, but I will not do a comparison here):

  1. ESS-julia

  2. julia-repl

  3. julia-snail

  4. lsp-julia

  5. emacs-jupyter

  6. eglot

(Sorry if I missed something, happy to add it).

The main questions are whether

  1. anyone is using inferior-julia,
  2. there is any harm in keeping it in the package, even if unused,
  3. there is any benefit from removing it.
non-Jedi commented 4 years ago

The language server protocol does not provide a REPL, so both lsp-julia and eglot can be removed. Swank.jl via SLIME does however (if I could ever get it to work).

The benefit of removing it to me is that it clears the way to merge something else back in whether it's julia-repl (if the Windows problems in the README ever have a solution), part of ess, or something based on #106 that doesn't yet exist. The other benefit is that someone could currently potentially start using inferior-julia and never realize there's something better available. Taking it out at least prompts them to look for options.

For evidence for it's lack of use, I fixed a crippling bug in #51 that nobody had seemed to have complained of yet (of course that was in 2018, but still).

david-vicente commented 4 years ago
  1. Never used it (always used julia-repl)
  2. as a user, I guess the only benefit of removing it is inferior-julia-mode not appearing in the minibuffer when i invoke M-x. As a potential contributor to the package (after learning elisp...) I think that having legacy code is always unwanted.
sfmb-mx commented 4 years ago

I use ESS-julia in org-mode, this way gives me the possibility of run smoothly the code blocks. Regards.

bgoodr commented 4 years ago

I filed https://github.com/JuliaEditorSupport/julia-emacs/issues/144 because I tried to use it and it failed with the error I mentioned there. Perhaps it never worked, or never worked properly, so perhaps this is evidence that it should be removed. Or if not removed, then the issue in 144 addressed somehow.

Warning: I'm a new user of this Emacs package, so my commentary may be totally off-base.

tpapp commented 4 years ago

144 is a good opportunity to revisit this. I would at least add a deprecation message, something like

(make-obsolete 'inferior-julia "REPL modes are now provided by various third-party packages, this will be removed.")
non-Jedi commented 4 years ago

I'd be in favor of deprecating for 6 months or so before removing (maybe link to this issue in the deprecation message so people can comment if they disagree). We should also take the opportunity to add all the julia-related emacs packages to the README--especially the ones providing a REPL.

tpapp commented 3 years ago

Note: in the current CI workflow package-lint fails because of inferior-julia & friends, should be re-enabled when this is removed, 6 months after #161 is merged.