Home Up

Emacs and Lisp Programming

Here, I provide some material and references for emacs and lisp programming.
Much of the material on lisp is quite old, but most of it is still relevant.

Emacs

Enjoys active and sustainable development

Do you have a curiosity about emacs, but worry that it is not popular? Check out this emacsconf video by David Wilson.

My take on this video is that sustained, active development is what is really important, and that emacs has that. David Wilson argues that it is relatively easy for an emacs user to climb the ladder from user, to package author, and finally to core developer. Highly challenging of course, and only possible for people of extraordinary motivation and ability - but still easier than for other editor platforms.

Why? First of all people attracted to emacs tend to be programming savvy and motivated to contribute in the first place. But there is another, more fundamental reason.

In most applications there is an uncrossable chasm separating users from core developers. Imagine I were to spend the time to become a power user of LibreOffice. I would know all the menu items, all the ways to configure it, maybe even become proficient at writing spreadsheet macros, etc. I would then be just a baby step away from committing improvements to the LibreOffice code base, right?
No, of course not. Configuring LibreOffice and coding its core are completely different things.

In emacs on the other hand; basic configuration, package development, and most core development are fundamentally the same thing - writing elisp code, albeit at a different level of complexity or sophistication.

Old is Good

Another point the David Wilson brings up in his video, is that emacs has been consistently maintained for over 40 years. That's a good thing. It means emacs has a fighting chance to still be under active development for another 40 years.

My teaching material on emacs/elisp/lisp

I am working on some original teaching material.
Currently it is work under construction, just some notes on emacs and elisp.

Links to material on emacs/elisp

Emphasis on Using Emacs

Emphasis on Elisp Programming

Some of the links are copies or updated copies of links found in
Pascal Costanza's Highly Opinionated Guide to Lisp, which gives an enjoyable and useful overview of lisp.

  • Strongly recommended packages: Themes: Emacs themes allow you to customize the colors and fonts used by emacs. For example (load-theme 'lawrence t) loads the theme "lawrence". Some themes are available by default (you can use customize-themes to obtain a list); many more available at emacstheme.com, including citrusOcean designed by a student of this class.

    Common Lisp Reference Works

    Books on Lisp

    Articles on Lisp

    Books and Articles on Lisp, non-English

    Lisp Implementations

    Note clisp and sbcl both have debian packages for easy installation.

    Web/blog pages on elisp/emacs

    Project Ideas

    I have started a list of project ideas.