(defun hello (&optional name)
"Say hello, optionally to NAME."
(let ((greetee (or name "World")))
(concat "Hello, " greetee "!")))
Get better at programming through fun, rewarding coding exercises that test your understanding of concepts with Exercism.
Given a moment, determine the moment that would be after a gigasecond has passed.
Calculate the number of grains of wheat on a chessboard given that the number on each square doubles.
Convert a number to a string, the content of which depends on the number's factors.
Emacs Lisp's syntax is simple, expressive and easy to learn.
Both source code and data are expressed using nested lists.
It's easy to customize the language with Emacs Lisp's macro system.
Emacs Lisp support imperative and functional programming styles.
Emacs Lisp can be used as scripting language by using Emacs' batch mode.
Emacs Lisp is well documented right inside the editor.
Every language has its own way of doing things. Emacs Lisp is no different. Our mentors will help you learn to think like a Emacs Lisp developer and how to write idiomatic code in Emacs Lisp. Once you've solved an exercise, submit it to our volunteer team, and they'll give you hints, ideas, and feedback on how to make it feel more like what you'd normally see in Emacs Lisp - they'll help you discover the things you don't know that you don't know.Learn more about mentoring
The Emacs Lisp track on Exercism has 40 exercises to help you write better code. Discover new exercises as you progress and get engrossed in learning new concepts and improving the way you currently write.See all Emacs Lisp exercises
The best part, it’s 100% free for everyone.