Live data from Hacker News

Lisp Programming in Vim with Slimv or Vlime

susam.in

21–30 of 43 posts

Re: Lisp Programming in Vim with Slimv or Vlime

#21

Two questions: With the advent of capable editors like Visual Studio Code, is Vim still a relevant skill to have? Is SLIME still the state of the art for Lisp development environment? Is there no way to get started with Lisp programming without having to learn Emacs or Vim?

I have no idea why you were downvoted for your questions. Weird. I will try to answer your questions:

One killer application of Vim and Emacs is development on powerful remote servers, for example, you might want 16 cores, a powerful GPU, and 64gig memory for a task so remote exploration and development makes sense. (VSCode does have a remote mode but I haven’t tried it.)

I have been using Emacs for 20+ years with Lisp. I just use Vim for quick edits to I can’t speak to using Lisp dev Vim support.

For local development on my laptop, I now use Emacs or VSCode about equal amounts for Common Lisp, Racket, and Haskell depending on what I am doing. Both are fantastic dev environments.

EDIT: Slime may be old, but it is tried and true technology. LSP is more modern and is a common autocomplete, etc. interface for many languages.

Re: Lisp Programming in Vim with Slimv or Vlime

#22
post #17

Two questions: With the advent of capable editors like Visual Studio Code, is Vim still a relevant skill to have? Is SLIME still the state of the art for Lisp development environment? Is there no way to get started with Lisp programming without having to learn Emacs or Vim?

SLIME has a successor now called Sly, but yes that's still state of the art for Lisp programming. No, you don't have to learn emacs to get started with Lisp though. You'll just have an inferior experience. As a side note, if you do start to learn without emacs, please use something like this[1] for formatting your code. Most editors lack a Lisp indentation plugin, and any time you ask a question online, whomever answ…

I don't think it's fair to call it a successor since it intentionally doesn't implement all the features of Slime.

I'm specifically talking about presentations which were removed because the author of Sly never uses them. For the first people who do, however, Sly can never be a successor to Slime.

It may be an alternative, and a pretty good one, but not enough a successor.

Re: Lisp Programming in Vim with Slimv or Vlime

#25

Two questions: With the advent of capable editors like Visual Studio Code, is Vim still a relevant skill to have? Is SLIME still the state of the art for Lisp development environment? Is there no way to get started with Lisp programming without having to learn Emacs or Vim?

I don't think learning GNU Emacs using a window-based version would be too difficult. The obvious advantage is better tool support via SLIME for interactive Lisp development with SBCL.

Support for development with Common Lisp in Visual Studio is relatively primitive and has very little momentum - at least that's my impression.

Re: Lisp Programming in Vim with Slimv or Vlime

#28

I wonder why the author doesn't mention the plugin vim-slime[1], given that it seems to be more popular than either Slimv or Vlime on github. From what I can gather, Slimv and Vlime are more focused on lisp with built-in completion and debugging whereas vim-slime is language agnostic and simply recreates just the "connected REPL" behavior of Slime. [1] https://github.com/jpalardy/vim-slime

The "vim-slime" plugin is not appropriate for my blog post because it is nothing like SLIME. In fact, the word "slime" in "vim-slime" is poorly chosen. It supports none of the SLIME features. It does not even provide the "connected REPL" experience like SLIME, Slimv, or Vlime does. Here are the major reasons why vim-slime is very limited and insufficient as a Lisp development environment when compared to SLIME, Slimv, or Vlime:

- It does not understand s-expressions. It can only send the current text paragraph or text selected in visual mode to a terminal running in GNU Screen, tmux, Neovim, etc. Therefore, it cannot send, say, only the current expression or an entire function definition or a top-level form to the terminal.

- Since it is language-agnostic and really only sends text from a buffer to a terminal, it does not care whether the text is code or prose. It also does not care if the terminal is running a Unix shell or a REPL. It is the user's responsibility to ensure that the correct REPL is running on the terminal and the corresponding code is being sent from Vim using vim-slime.

- Since it does not implement the client-server architecture that SLIME and Swank implement together, it has none of the interactive debugging features of SLIME. It cannot automatically launch the integrated Slime Debugger (SLDB) when an unhandled condition occurs. As a result, all debugging features like inspecting code, inspecting variables, etc. are missing.

- Almost all of the SLIME features are missing from it. It does not support displaying argument lists as we type function calls, Common Lisp HyperSpec (CLHS) lookup and completion, describing symbols, cross-referencing, etc.

- It does not provide any key-bindings for common tasks such as macro expansion, function tracing, etc.

Swank server is an integral component of SLIME. It is essential to the way SLIME works. A plugin that does not talk to Swank server can hardly be anything like SLIME. Slimv and Vlime on the other hand talk to the same Swank server that SLIME talks to. Slimv and Vlime are re-implementations of the client component of SLIME. They send SLIME commands to Swank just like SLIME does. As a result, Slimv and Vlime are able to support a good portion of the features available in SLIME.

Re: Lisp Programming in Vim with Slimv or Vlime

#29

Two questions: With the advent of capable editors like Visual Studio Code, is Vim still a relevant skill to have? Is SLIME still the state of the art for Lisp development environment? Is there no way to get started with Lisp programming without having to learn Emacs or Vim?

If you're running on a battery and aren't sure you'll be able to plugin in the next 10 minutes.

Re: Lisp Programming in Vim with Slimv or Vlime

#30

Two questions: With the advent of capable editors like Visual Studio Code, is Vim still a relevant skill to have? Is SLIME still the state of the art for Lisp development environment? Is there no way to get started with Lisp programming without having to learn Emacs or Vim?

I don't really see why you would write any lisp in an editor that isn't Emacs. Visual Studio Code is very capable... of jumping in to a hot loop periodically to crash or require you to kill it, sapping your battery at idle, and making rookie mistakes long-since corrected by the 40-year editors.

If I were looking to replace Emacs, replicating CIDER is a tall order, especially CIDER over TRAMP. Tell me when you can automatically shell into your high-memory remote machine with an editor running locally, and get a full REPL with inline evaluation on the remote machine.. and it "just works" (i.e. install the package from MELPA, and it works out of the box).

Post reply on HN