generated at
Gaucheの構文(特殊形式)
Scheme言語では (<予約語> x y ..) のような形式のものを構文(syntax)と呼ぶ
が、「構文」と呼ぶのはあまりにも紛らわしいしいので、区別するために「特殊形式(special form)」とも呼ぶらしい
「構文」は仕様レベルで定まっている呼び方mrsekut


必須構文
以下の5つしか無い
set!
define
if
lambda
quote


この5つ以外の構文は、必須構文より導出できる
let とか or とか





>上記のような例が構文になるのは、あらかじめifがグローバルな構文キーワードとして組込みで定義されているからです 『プログラミングGauche』 p.260
>すなわち、Schemeには他の多くの言語にある「予約語」というものがありません
>あくまでそれらの意味が初期値として設定されているだけだと考えられます
ん?とんち?mrsekut
あー、本来の意味で予約語なら「if」という名前の変数も作れないだろってことか
gaucheはこういうのも書ける
lisp
(let ((if list)) (if 1 2 3))
if という名前の変数に list 手続きを代入している