星田さんの記事に対してのコメント。
・#; って;とどう違うのか謎。もしかして同じ行の中で部分的にコメントアウト出来るのか?と思ったけど普通に行末までコメントアウトされるし・・
いや、星田さんが考えてる通りです。
次の例を見てみよう。
(+ 1 #; 2 3)と入力すると4が返る。明らかに2がコメントアウトされてる。
Racketでもこんなカンジ。
結局、行末までコメントアウトしてるように「見える」のは、Gaucheのせいじゃなくって、PaizaのオンラインエディタがキチンとSchemeの構文を見てないから、です。
ちと紛らわしかったね。エディタ側の問題だ。
・<datum>ってなんだ?と思って調べたけど明確な答えが見つからない。
一応、注釈がリンクしてるかな。
ザックリ言うと、Schemeで扱えるすべてのデータ型の事、です(※1)。
・データムラベルが謎。リストとかで呼び出すんじゃなくてデータを直接呼び出すということ?変数に束縛で良いのでは?
知ってる範囲で言うと、これこそユーザーはあんま関係ないかなぁ。僕も一つしか見たことないです。循環リストで出てくる表現だよね。
これ以外にSchemeでは見たことがないです。
いずれにせよ、取り敢えずはSchemeユーザー的には入力には全く関係なくって、出力に関する表現形式の一つだ、と考えていいんじゃないかな(※2)。
※1: 英語に堪能な人なら知ってるだろうが、datumは単数形の単語で、これの複数形がいわゆるdata(データ)になる。datumsにはならんし、何故か日本語に入ってきた時、通例と違って複数形(data)の方が日本語化してしまった。
ちなみに、英語には名詞の形容詞的用法、と言うものがあって、その場合、形容詞的に使われる名詞は単数形を用いる、と言う基本ルールがある。
例) cat food
上の例だとcatも名詞、foodも名詞で前者が「名詞の形容詞的用法」でfoodを修飾して「猫の餌」の意になる。
英語教育の通例では、唯一の例外としてスポーツカーが良く挙げられる。英語でもsport carにはならずsports carだ。
ところが、もう一つ例外がありえる。つまり、データベースはdatabaseなのだが、dataが複数形である以上、フツーだとdatumbaseになりそうなんだがそうなってない。これは2つ目の例外になりえるんじゃないか。
そのうち、もとこんぐさんが詳しく解説してくれるかもしんない(笑)。
※2: ANSI Common Lispではリーダーの挙動を変えるリードマクロと言う機能があって、どういう読み込みをどうLispに解釈させるのか、ユーザーが自由に定義出来る、と言う恐ろしい、黒魔術的な機能があって、それ絡みと言えばそれ絡みの話だ。
ただし、Schemeの場合、基本的にそこまでユーザーに自由は与えてないし、仮にあっても実装依存の話になって一般化しづらいんで、割にこの辺の説明は中途半端だよな、と言う気がする。