smob (Scheme オブジェクト)

Scheme オブジェクト (ScheMe OBjects, 略して smob) は、C や C++ オブジェクトを Scheme コードにエクスポートする際に Guile によって用いられます。LilyPond では、Scheme オブジェクトはマクロを用いて C++ オブジェクトから生成されます。Scheme オブジェクトには 2 種類あります: 数値のような単純なイミュータブル オブジェクトを格納するシンプル smob と、自身を持つオブジェクトに用いられる複合 smob です。LilyPond のソース コードがアクセスできる場合、より詳しい情報は lily/includes/smobs.hh にあります。

LilyPond 記譜法リファレンス v2.25.22 (development-branch).