closure (クロージャ)

Scheme では、クロージャ (closure) は関数 (通常はラムダ式) が変数として渡された際に作られます。クロージャは、関数のコードと共に、関数における自由変数 (つまり、関数の中で使われているが、関数の外で定義されている変数) の静的束縛 (lexical binding) への参照が含まれます。この関数が異なる引数で再度呼ばれた際、クロージャで捕捉された自由変数の束縛が、 計算で使用される自由変数の値を得るために使われます。クロージャの便利な性質の一つは、内部変数の値を複数の呼び出しの間で保持できることです。これにより、状態を保存することができます。

LilyPond 記譜法リファレンス v2.25.16 (開発版).