GNU LilyPond is Free Software for engraving music, with a strong emphasis on very high quality output.
LilyPond is a computer program for music engraving. One of LilyPond's major goals is to produce scores that are engraved with traditional layout rules, reflecting the era when scores were engraved by hand.
LilyPond is different from conventional commercial typesetting software in that the input is code written in plain text, which LilyPond compiles into output formats such as PostScript, PDF, and MIDI. There are various front-ends available to make editing of this code easier.
LilyPond is available for several common operating systems. It is released as part of the GNU project, and under the terms of the GNU General Public License, it is Free Software.
LilyPond uses the Scheme programming language, both as part of the input syntax, and as internal mechanism to glue modules of the program together. [...]
LilyPond uses the GNU Guile implementation of Scheme, which is based on the Scheme “R5RS” standard.
— from the LilyPond documentation - Scheme tutorial.