「萌香」は一つの文法に複数のシンボルが割当てられています。
組込み文法はifとquoteのみリストの先頭で評価されます。残りのものは リストの最後で評価されます。
if、もし
条件分岐をします。predが偽以外ならcond_tを偽ならcond_fを 評価し返り値とします。predが偽でcond_fが省略された場合 Undefが返されます。
(if pred cond_t cond_f)
「もし (x 1 >) ならば 「"大きい" と 表示」 そうでなければ 「"小さい" と 表示」」
quote、クォート
contentsを評価されなくします。シングルクォーターションマークを 使うので普段は使わないでしょう。
(quote contents)
(quote '(1 2)) --> (1 2)
define、定義、定義する
valueをsymbolに束縛します。
(symbol value define)
「foo と "文字列" を 定義 します」
set!、セット、セットする
symbolの束縛をvalueに変更します。symbolはdefine等によって 既に束縛されてなければなりません。
(symbol value set!)
「foo を 10 に セット します」
lambda、ラムダ、仕事
symbol... をとり、exp... と動作をするラムダクロージャを生成します。
((symbols... ) exp... lambda)
「(x y) 「(x y を たす) を 表示」 という 仕事」
let、レット、行います
symbolとvalueの組をとりexp以下を実行します。 named letもあります。
(((symbol value)...) exp... let) (label ((symbol value)... ) exp... let)
while、繰り返し
predが成り立っている間、exp..を実行します。
(pred exp... while)
begin、続けます
exp... を順次実行し、最後のexpnの値を返り値とします。
(exp... expn begin)