定義と式は異なるものである一方で、合成式と定義は類似した構文構造をしている。
(define x 23) (* x 2)
最初の行は定義であり、二番目は式である。この区別は define と * に対する束縛に依っている。純粋に構文上のレベルでは、どちらもフォームであり、フォームは Scheme プログラムの構文上の部分の一般的な名前である。特に、 23 は (define x 23) の下位フォームである。