Write a Blog >>
HOPL IV
Sun 20 - Tue 22 June 2021
co-located with PLDI 2021
Tue 22 Jun 2021 15:15 - 16:15 at HOPL - Tuesday Early Afternoon Chair(s): Kim Bruce, Brent Hailpern

While Emacs proponents largely agree that it is the world’s greatest text editor, it is almost as much a Lisp machine disguised as an editor. Indeed, one of its chief appeals is that it is programmable via its own programming language. Emacs Lisp is a Lisp in the classic tradition. In this article, we present the history of this language over its more than 30 years of evolution. Its core has remained remarkably stable since its inception in 1985, in large part to preserve compatibility with the many third-party packages providing a multitude of extensions. Still, Emacs Lisp has evolved and continues to do so.

Important aspects of Emacs Lisp have been shaped by concrete requirements of the editor it supports as well as implementation constraints. These requirements led to the choice of a Lisp dialect as Emacs’s language in the first place, specifically its simplicity and dynamic nature: Loading additional Emacs packages or changing the ones in place occurs frequently, and having to restart the editor in order to re-compile or re-link the code would be unacceptable. Fulfilling this requirement in a more static language would have been difficult at best.

One of Lisp’s chief characteristics is its malleability through its uniform syntax and the use of macros. This has allowed the language to evolve much more rapidly and substantively than the evolution of its core would suggest, by letting Emacs packages provide new surface syntax. In particular, Emacs Lisp can be customized to look much like Common Lisp, and additional packages provide multiple-dispatch object systems, legible regular expressions, programmable pattern matching constructs, generalized variables, and more. Still, the core has also evolved, albeit slowly. Most notably, it acquired support for lexical scoping.

The timeline of Emacs Lisp development is closely tied to the projects and people who have shaped it over the years: We document Emacs Lisp history through its predecessors, Mocklisp and MacLisp, its early development up to the “Emacs schism” and the fork of Lucid Emacs, the development of XEmacs, and the subsequent rennaissance of Emacs development.

Tue 22 Jun

Displayed time zone: Eastern Time (US & Canada) change

13:30 - 16:15
Tuesday Early AfternoonPapers at HOPL
Chair(s): Kim Bruce Pomona College, Brent Hailpern IBM Research
13:30
75m
Talk
The History of Standard ML
Papers
David MacQueen University of Chicago (Emeritus), Robert Harper Carnegie Mellon University, USA, John Reppy University of Chicago, USA
DOI
15:15
60m
Talk
Evolution of Emacs Lisp
Papers
Stefan Monnier Université de Montréal, Michael Sperber Active Group GmbH
DOI