Emacs Lisp is the extension language of the Emacs text editor. You can easily create you own extensions, which include preference files, but also full-fledged applications that use Emacs as a running environment in a fully integrated way.
Elevate your Emacs Lisp skills through 98 curated exercises across 0 core concepts. Master problem-solving with a structured learning path designed for modern developers.
Emacs Lisp is the language at the core of Emacs, the iconic text editor that is at the beginning of the Free Software movement. Emacs is made of more than a million lines of Emacs Lisp, and all the applications that run inside Emacs (IDEs for various programming languages, games, planners, etc.) are written in Emacs Lisp. User preferences are also lists of Emacs Lisp expressions.
Knowing Emacs Lisp is the first step into Lisp, the second oldest programming language still used (just turned 60 in 2018) and also a language that still influences so many other programming languages.
Quoting the creator of Emacs: "Multics Emacs proved to be a great success — programming new editing commands was so convenient that even the secretaries in his office started learning how to use it. They used a manual someone had written which showed how to extend Emacs, but didn't say it was a programming. So the secretaries, who believed they couldn't do programming, weren't scared off. They read the manual, discovered they could do useful things and they learned to program."
Simple syntax
Emacs Lisp's syntax is simple, expressive and easy to learn.
S-expressions
Both source code and data are expressed using nested lists.
Macros
It's easy to customize the language with Emacs Lisp's macro system.
Multi-paradigm
Emacs Lisp support imperative and functional programming styles.
Scripting
Emacs Lisp can be used as scripting language by using Emacs' batch mode.
Well Documented
Emacs Lisp is well documented right inside the editor.
Simple syntax
Emacs Lisp's syntax is simple, expressive and easy to learn.
S-expressions
Both source code and data are expressed using nested lists.
Macros
It's easy to customize the language with Emacs Lisp's macro system.
Multi-paradigm
Emacs Lisp support imperative and functional programming styles.
Scripting
Emacs Lisp can be used as scripting language by using Emacs' batch mode.
Well Documented
Emacs Lisp is well documented right inside the editor.