2012年4月18日水曜日

Schemeはじめの1歩

さて、3週間で終わるかどうかは分からないが、ちびびちと自分の言葉でまとめていこう。

まずは式。Schemeの式(と言うかLISPのS式)は非常にシンプルで、
(コマンド 引数 引数 引数 ...)
のように、コマンドの後に(必要であれば)引数を空白区切りで並べて、全体を括弧で括るだけ。他の言語で言うところの制御構文ですら全てこのS式で表現されるので、処理系はただひたすらS式を評価していくだけ。

次にプリミティブな型。
真理値
#t, #f
真理値が要求されるところでは、#f以外は全てtrue扱い
数値
整数
12
有理数
34/5
/の前後にスペースを入れては駄目
実数
6.78
複素数
9+10i
+, -, iの前後にスペースを入れては駄目
実部が0なら実部は省略可能だが、虚部の符号は省略できない
虚部の±1は省略可能
文字
#\c (文字'c')
#\tab, #\space, #\newline等、別名定義もある
Gaucheはマルチバイト文字もOK(e.g. #\あ)
シンボル
変数や関数の名前
名前自体に型がある
最後に複合的な型。
ドット対
(1 . #\b)
他の言語の用語で言うならば2要素のタプル。
要素の型は何でもあり。2つの要素の型は一致している必要なし。
リスト(1 2 3 4)は、ドット対(1 . (2 . (3 . (4 . ()))))の略記法
ベクタ
#(5 6 7 8)
文字列
"This is string"
HTMLのタグ打ちめんどいなー。

0 件のコメント:

コメントを投稿