### 2.3.1 Music function definitions

The general form for defining music functions is:

>     function =
>     #(define-music-function
>          (parser location arg1 arg2 …)
>          (type1? type2? …)
>        body)

quite in analogy to Scheme function definitions. More often than not, body will be a LilyPond code block.

For a list of available type predicates, see Predefined type predicates.

#### See also

Notation Reference: Predefined type predicates.

Installed Files: ‘`lily/music-scheme.cc`’, ‘`scm/c++.scm`’, ‘`scm/lily.scm`’.

其他语言：deutsch, español, français。
About automatic language selection.

#### LilyPond — Extending v2.18.2 (稳定分支).