It’s Friday, so I though it would be nice to have a social topic here. So here’s a bunch of questions to stir up some discussions:
- Which Lisp do you most often program in?
- What does your Lisp development environment or IDE look like?
- How did you get started with Lisp? Did you follow any particular articles to set up your environment or begin learning Lisp?
-
Common Lisp. I basically only use SBCL. It has good introspection, restarts, and source analysis for debugging. I mainly write theoretical research code that doesn’t depend on calling into the JVM or C++ code. I do try to keep my code portable, so I will check with other implementations from time to time.
-
I use GNU Emacs and Sly (though I am thinking of trying Lem). I don’t use any structural editing outside of Emacs’ built in electric-pair-mode, show-paren-mode, and expand-region (not built in). I don’t even use rainbow delimiters anymore. I get all my Common Lisp dependencies from GNU Guix. It is very pleasant to use and is rolling release. In addition to Guix, I use cl-guix-utils, which adds live loading of dependencies quicklisp style.
-
I first learned Racket then Emacs Lisp (both in college). Emacs lisp was more pleasant due to its interactive and self documenting nature. I wanted to write real programs; Common Lisp looked and felt more like Emacs Lisp (but better). I started learning Common Lisp primarily with the “Lisp for the web” series. I was hooked. I learned more mainly through reading the hyperspec, studying other people source code and reading articles. I didn’t read any of the famous books until I recently read “Practical Common Lisp”. I already knew pretty much everything it had to offer. I wish I had read it sooner.
GNU Guix: https://guix.gnu.org/
cl-guix-utils: https://git.sr.ht/~charje/cl-guix-utils
“Lisp for the web”: https://adamtornhill.com/articles/lispweb.htm
“Practical Common Lisp”: https://gigamonkeys.com/book/
-
ℹ I don’t consider myself a Lisp expert nor a professional.
- Nowadays, I mostly use elisp to customise Emacs and write custom functions. Also some lines of CL using SBCL here & there to try out things.
- I’ve never used anything but Emacs for Lisp (lisp-interaction-mode and slime).
- I got my first Lisp book (I wanted to try out something different) when I got into the MSc in AI back in the university days. Turned out I wasn’t really interested in AI and dropped out but the love for/fascination w/ Lisp never left 🙂
@cadar
for the past 2 years, I’ve been doing most of my Lisp development on my phone, using a JVM-based dialect of Scheme called KawaI’m doing the development in Termux (a terminal app for Android) using Emacs for editing, and Hacker’s Keyboard for input, so it looks like this:
@cadar but in my case, the phrase ‘your Lisp development environment’ is ambiguous, because I’m using this setup to develop a Lisp-based development environment that would be more comfortable to use with touch screens.
The repository contains some screenshots and a link to a demo video that I recently released:
- Which Lisp do you most often program in?
These days I use mostly Interlisp and Common Lisp under Medley, the restored and revived Interlisp-D environment of the Xerox Lisp Machines developed at Xerox PARC since the early 1980s.
- What does your Lisp development environment or IDE look like?
Here you can see some screenshots of my Medley environment. It comprises all the traditional Interlisp development tools such as the SEdit structure editor, the File Manager, and Masterscope.
- How did you get started with Lisp? Did you follow any particular articles to set up your environment or begin learning Lisp?
In the early 1990s I took an introductory computer science class based on SICP and fell in love with Scheme. I later learned Common Lisp and Emacs Lisp, and I’ve been programming almost exclusively in Lisp on and off since then.
I would love to hear your answers too cadar@lemmy.ml.
- I mostly use Common Lisp via SBCL
- It kinda looks like Emacs, but it’s implemented in Common Lisp and I just load my code into it and develop Smalltalk style. It feels like free balling.
- I think I started in Emacs Lisp
-
Guile Scheme – lots of useful features built-in and a nice package ecosystem almost as good as Racket, it runs the Guix package manager which is the best package manager ever invented. Extremely well documented. Has an active user community and is actively maintained. Uses its own unique virtual machine that runs quite fast with JIT compilation. Stack traces are a little confusing in my opinion, but otherwise is easier to use than other Schemes I have tried. Plus it is an official GNU project, so great for software privacy and freedom.
-
Emacs with the “Geiser” and “Paredit” packages. Geiser is not as nice as SLIME with Common Lisp, but it works. The documentation browser is very good: it can navigate Info-doc, Man pages, and web pages all within the editor.
-
I started with Haskell, which is a functional language in the ML family, not a Lisp. One day I met a well-known Scheme enthusiast named Byrd (co-author of “The Reasoned Schemer” textbook and the “Minikanren” declarative logic programming system), and he almost convinced me that Scheme was better than Haskell. I was already an Emacs user and knew enough about Emacs Lisp that switching from Haskell to Scheme was very easy, and Guile’s documentation made it even easier. I still use Haskell and love it a lot, but lately I have just been focusing on getting good at Scheme.
-