Learning Scheme for LilyPond

Lire en français (également disponible à travers le bouton « v:latest » en bas à droite).

This tutorial aims at covering the basics of the Scheme programming language, thanks to which it is possible to configure and program every single element of a LilyPond music score. This material originates in a presentation delivered at a virtual conference of French-speaking LilyPond users in 2021.

I would like to thank Urs Liska for his own (unfinished) book on Scheme and LilyPond, which helped me learn Scheme myself, and inspired some parts of this tutorial.

Questions on Scheme are welcome on the lilypond-user mailing list. I appreciate feedback on this document; if you would like to suggest an enhancement or clarification, or report a mistake, please contact me directly.

This document is placed under the Creative Commons CC0 license.