特殊形式の下位フォームは通常特定の構文上の制約に従う必要がある。フォームはマクロ展開(これは停止しないこともある)に左右されることもあり、指定された制約に従うかどうかは一般に決定できない。
ただし、マクロ展開が停止する時には、実装系は構文の違反を検知しなければならない。構文違反はライブラリ本体部分の構文や、トップレベルの本体部分、ないしは基盤ライブラリや標準ライブラリの「syntax」項目に関するエラーである。さらに、変更不可能な変数(すなわち、ライブラリによって公開された変数。 R6RS:翻訳:R6RS:7.1 Library form 参照)へ代入しようとすることも構文違反と考えられる。
プログラム中のトップレベルないしライブラリフォームが構文上正しくない場合、実装系は &syntax コンディション型の例外を発生させ、またそのトップレベルプログラムやライブラリの実行開始を許可してはならない。