andとor

8章4節のandとorに関して。

and

複数の引数を取り、先頭から評価していって、#fを見つけたら直ちに評価を中止し#fを返す。
引数が全て#f以外の値だったら、最後に評価した値を返す。

gosh> (and 1 2 3 #f 4 5)
#f
gosh> (and 1 2 3 4 5)
5

簡単。

or

複数の引数を取り、先頭から評価していって、#f以外の値を見つけたら直ちに評価を中止しその値を返す。
引数が全て#fだったら、#fを返す。

gosh> (or #f #f #f "hello" #f)
"hello"
gosh> (or #f #f #f #f)
#f

うん、簡単。