アトムとリストとS式

Scheme ではすべてはS式だ。基本的なデータも、リストも、関数も全部、S式。
アトムもS式。アトムというのは、Scheme での最小単位のようなものらしい。括弧ではない文字からなる文字列(データとしての文字列とは違うことに注意)や数字の列がアトム。ちょっと確かめてみよう。

gosh> atom
*** ERROR: unbound variable: atom
Stack Trace:
_______________________________________

あれ、エラーになった。そうか、クォートしてやらないといけない。クォートすると文字の列をそのものとして扱ってくれる。

gosh> 'atom
atom
gosh> 12345
12345
gosh> '*abc$
*abc$

リストは、S式を括弧でくくったもの。リスト自体もS式なので、リストのリストも作ることができる。これも当然S式。

gosh> '(x y z)
(x y z)
gosh> '((x y) z)
((x y) z)
gosh> '()
()

最後のは空のリスト。これもS式。

カテゴリー: Scheme パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください