1.1.3 Scheme simple data types

The most basic concept in a language is data typing: numbers, character strings, lists, etc. Here is a list of simple Scheme data types that are often used with LilyPond.


Boolean values are True or False. The Scheme for True is #t and False is #f.


Numbers are entered in the standard fashion, 1 is the (integer) number one, while -1.5 is a floating point number (a non-integer number).


Strings are enclosed in double quotes:

"this is a string"

Strings may span several lines:

a string"

and the newline characters at the end of each line will be included in the string.

Newline characters can also be added by including \n in the string.

"this\nis a\nmultiline string"

Quotation marks and backslashes are added to strings by preceding them with a backslash. The string \a said "b" is entered as

"\\a said \"b\""

There are additional Scheme data types that are not discussed here. For a complete listing see the Guile reference guide, https://www.gnu.org/software/guile/docs/docs-1.8/guile-ref/Simple-Data-Types.html.

Extending LilyPond v2.25.18 (development-branch).