Emacs Lisp

Join the Emacs Lisp Track
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.
Join the Emacs Lisp Track
Track mentors

5 Mentors

Our mentors are friendly, experienced Emacs Lisp developers who will help teach you new techniques and tricks.
Track students

1,318 Students

Join hundreds of students who have enjoyed learning and improving their skills by taking this track.
Track exercises

28 Exercises

Hundreds of hours have gone into making these exercises fun, useful, and challenging to help you enjoy learning.

About Emacs Lisp

(defun hello (&optional name)
  "Say hello, optionally to NAME."
  (let ((greetee (or name "World")))
    (concat "Hello, " greetee "!")))

About

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."

Join the Emacs Lisp track

A tremendous learning opportunity to explore the depth of your own knowledge

Exercism is fantastic in learning new languages but that is not the extent of it. If you are a "more experienced" programmer you may have encountered impostor syndrome: the idea you don't really know what you think you know. Exercism lets you solve problems and put them in the space of open feedback which is a tremendous learning opportunity to explore the depth of your own knowledge. Even if you have been programming in a language for awhile it is worth checking into Exercism to see where you stand with current implementation practices.

Relaxed. Encouraging. Supportive.

Meet the Emacs Lisp Track mentors

Once you join the Emacs Lisp language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.

Avatar of Sean Allred

Sean Allred Homepage

I love Lisp for its simplicity and utility -- and bending Emacs to my whims! I've created popular internet-based packages like Magithub and SX for StackExchange.
Avatar of Marcos Almeida

Marcos Almeida https://github.com/maurelio1234

Typescript and C# during the day, Elisp and other weird things during the night. Currently fullstack developer, worked on AI/Software engineering research in the past.
Avatar of Yilkal Argaw

Yilkal Argaw https://github.com/yilkalargaw

An enthusiastic programmer who enjoys to explore various aspects of the computer industry. Worked on areas ranging from ASIC & FPGA based hardware design to Software Development in softwares like ruby, C, C++, perl,scheme, common-lisp and rust.
Avatar of Aaron Kuehler

Aaron Kuehler https://aaronkuehler.com

80% Scientist, 20% Artist. Theorist and Practitioner.
Avatar of Gabriele Lana

Gabriele Lana https://github.com/gabrielelana

Software craftsman, clean code disciple, Elixir/Erlang, Elm, Ruby, Rust, JavaScript, quantified self geek, Emacs all the things, 20 years on the field and still love it.
Fun. Challenging. Interesting

Community-sourced Emacs Lisp exercises

These are a few of the 28 exercises on the Emacs Lisp track. You can see all the exercises here.

Armstrong Numbers
easy
math
Acronym
easy
strings
transforming
Raindrops
easy
control flow conditionals
filtering
integers
Pangram
easy
strings
control flow loops
RNA Transcription
easy
control flow conditionals
strings
transforming
Leap
easy
control flow conditionals
equality
integers
logic

Get started with the Emacs Lisp track. As with everything on Exercism, it's 100% free!

Join the Emacs Lisp Track