組み込み文法

「萌香」は一つの文法に複数のシンボルが割当てられています。

組込み文法はifとquoteのみリストの先頭で評価されます。残りのものは リストの最後で評価されます。

if

シンボル

if、もし

動作

条件分岐をします。predが偽以外ならcond_tを偽ならcond_fを 評価し返り値とします。predが偽でcond_fが省略された場合 Undefが返されます。

      (if pred cond_t cond_f)
    

      「もし (x 1 >) ならば
	    「"大きい" と 表示」
	     そうでなければ 「"小さい" と 表示」」
    

quote

シンボル

quote、クォート

動作

contentsを評価されなくします。シングルクォーターションマークを 使うので普段は使わないでしょう。

      (quote contents)
    

      (quote '(1 2))
            --> (1 2)
    

define

シンボル

define、定義、定義する

動作

valueをsymbolに束縛します。

      (symbol value define)
    

      「foo と "文字列" を 定義 します」
    

set!

シンボル

set!、セット、セットする

動作

symbolの束縛をvalueに変更します。symbolはdefine等によって 既に束縛されてなければなりません。

      (symbol value set!)
    

      「foo を 10 に セット します」
    

lambda

シンボル

lambda、ラムダ、仕事

動作

symbol... をとり、exp... と動作をするラムダクロージャを生成します。

      ((symbols... ) exp... lambda)
    

      「(x y) 「(x y を たす) を 表示」 という 仕事」
    

let

シンボル

let、レット、行います

動作

symbolとvalueの組をとりexp以下を実行します。 named letもあります。

      (((symbol value)...) exp... let)

      (label ((symbol value)... ) exp... let)
    

while

シンボル

while、繰り返し

動作

predが成り立っている間、exp..を実行します。

      (pred exp... while)
    

begin

シンボル

begin、続けます

動作

exp... を順次実行し、最後のexpnの値を返り値とします。

      (exp...  expn begin)