Show HN: Emacs4CL: 35 line .emacs to turn Emacs into Common Lisp dev environment
github.com
github.com
This is, in my opinion, the best way to introduce people to light .emacs configuration. To the point that I think there should be 4 or 5 different minimal .emacs such as this one in the main project page.
I understand why there is resistance to enhance the default UX and configuration, and I see the allure of spacemacs, doom, prelude, etc. But it is overkill, and pushes you down a configuration slippery slope that some enjoy too much and others dread, but that kills productivity.
> you learnt that it recommends Emacs and SLIME for development environment and it seemed like a significant additional learning curve for you?
This is the key. This is what pushes a lot of people away from emacs. Just have a "1 click" better default that also serves as a tutorial / example of how to cover 1 simple use case: one for common lisp, another one for clojure, a couple of different ones for python, one for writing a book. Just feed the space between no config and 3h of research. Have something to point out to newbies.
Emacs is a great piece of software. It is highly extensible. Whenever I see someone starting off directly with Spacemacs or Portacle, I feel that an important opportunity to appreciate the extensibility of Emacs is being missed. I have a similar gripe towards the current state of Java programming when I see young engineers starting off with Eclipse or IntelliJ without appreciating how to compile and run programs using the javac and java command line programs. It often bites them back when they have to troubleshoot the program on a production system where there is no IDE and they can only see very long arguments to "java -cp". But I digress here.
My hope with a project like this is that it will help in reducing the allure of readymade fully customized Emacs distributions to some extent and encourage hacking on Emacs itself to customize it to one's own needs, taste, and preferences.
I also think you are right. I am very grateful I managed to get a preconfigured Emacs to start my journey.
It provides a middle ground between manually installing SLIME, Paredit, etc. yourself with M-x package-install commands and installing Portacle that hides away the underlying details of what goes into making Emacs ready for Common Lisp development. It promotes a DIY approach to automate customizing Emacs into a Common Lisp programming environment.
If one does not wish to understand the customizations completely, then Portacle is a great starting point. However, my intention here was to promote a DIY approach to customizing Emacs into a CL dev environment.
I believe that with something like Emacs which is so extensible, it is good to promote customizing it to one's own taste and preferences instead of installing a readymade customized distribution of it. This project is meant to be a quick starter kit to quickly do these customizations without having to spend too much time on it.
I started using slime as a lifetime vi (and then vim) user, and started using slime because cmucl's REPL was so primitive. I could not have survived without using the menu, and I did pickup some commonly used shortcuts from the hints in the menu.
Since the interactive development environment involves an SBCL process running the Swank TCP server which SLIME running in Emacs talks to, I believe SLIME (or something like it) is still required. For example, when we press C-x C-e, even if we are not using the SLIME REPL buffer, we still need SLIME to send the Lisp expression to Swank which would then evaluate it within the SBCL process and send the result back to SLIME, so that Emacs can show the result in its minibuffer.
Either way would be interested in learning where/how you use lisp.
Clojure is quite popular at my workplace, however I do use Common Lisp and Scheme for hobby projects.
For example, parts of http://mathb.in/ (parsing, sanitization, spam alert, etc.) are written in Common Lisp. By the way, the code of MathB.in is old, rotting, and not fully open source. If I can find the time for it, I will clean it up, add HTTPS to the website, and release the complete source code soon.
I have written about it in detail here: https://susam.in/blog/lisp-in-vim-with-slimv-or-vlime/
Here is a previous discussion about it on Hacker News: https://news.ycombinator.com/item?id=21735148