Monday 17 June 2024 Coding in Elisp and Common Lisp enhances your skills in both ============================================================ Elisp and Common Lisp are both Lisp dialects. Elisp is the extension language of Emacs, its design goal was to allow users to customize Emacs. Common Lisp is a language specification, a standard. It is a powerful general-purpose programming language, There are several implementations of the Comon Lisp standard, both closed source as well open source. SBCL (Steel Bank Common Lisp) is an actively developed well known open source implementation of Common Lisp. The SBCL compiler generates fast native code according to Wikipedia [2]. CLISP, another opens source Common Lisp implementation. was originally developed for the Atari ST. It is now part of the GNU Project [3]. The stable release is 2.49, released in 2010. Both SBCL and CLISP are available as package for most open source operating systems. Learning Lisp ------------- After retiring in 2022 [4], I set out to learn how to code in Lisp. I read some books, PDFs, and web pages before starting to code in Elisp, followed by some work in SBCL. One of the things I build was a so-called static site builder. First, I build one in Elisp, and used that for some time to generate my website [5]. One of my first SBCL projects was again building a static site builder from this website. This SBCL program is still used to generate my website. Emacs package ------------- At the end of 2023 I started working on a Emacs package, to be distributed as an ELPA package. Philip Kaludercic helped me along the way, very patiently guided me [6]. This was a great learning experience. This reaffirmed Elisp's usefulness and capabilities and I build some more personal projects in Elisp, like an application to create my invoices. Playing with CLISP ------------------ Inspired by the Spring Lisp Game Jam 2024 [7] and some discussions on the Fediverse, I installed CLISP in a FreeBSD jail and started playing with it. I wanted to do something with CLISP and ncurses. This was too late to take part in the Lisp Game Jam, but it turned out to be a great source of learning opportunities [8]. Last week I started again to create a static site builder, now in CLISP. I started from scratch, and I guess that currently I am at about 30%. When I look at the code that I write now, I can clearly see a lot of progress, compared to my previous work. Coding in Elisp and Common Lisp enhances your skills in both ------------------------------------------------------------ I am completely convinced that coding in Elisp and Common Lisp improves your abilities in both. Although Elisp and Common Lisp are two distinct beasts, the manner of thinking is the same, and experiences in one are valuable in the other. And, most important, it really is a lot of fun to do! Happy Lisping! [1]: https://en.wikipedia.org/wiki/Steel_Bank_Common_Lisp [2]: https://en.wikipedia.org/wiki/Common_Lisp [3]: https://www.gnu.org/software/clisp/ [4]: gopher://box.matto.nl/0/emptycalendar.txt [5]: http://box.matto.nl [6]: gopher://box.matto.nl/0/my-first-gnu-elpa-package.txt [7]: https://itch.io/jam/spring-lisp-game-jam-2024 [8]: gopher://box.matto.nl/0/getting-the-terminal-size-in-clisp-on-freebsd.txt Last edited: $Date: 2024/06/17 19:43:44 $