Let's start Scheme

2012-01-02

R7RSドラフト5

ちょっとまじめに眺めている。
その際に見つけた気になる部分のメモ。

2.1 Identifiersより
All implementations of Scheme must support the following
extended identifier characters:
! $ % & * + - . / : < = > ? @ ^ _ ~
「:」は識別しじゃないとだめらしい。キーワードはだめってこと? (拡張という扱いにしよう、そうしよう)

4.2.1 Conditionalsより
caseはcond同様=>をサポートしないといけないらしい。

4.2.5 Delayed evaluationより
eagerって何だ?
The eager procedure returns a promise which when forced
will return obj . It is similar to delay, but does not delay
its argument: it is a procedure rather than syntax.
procedureが望ましいってあるだけで、syntaxでもいいのね。あいまいじゃね?

4.3.3. Signalling errors in macro transformersより
(syntax-error <message> <args> ... ) syntax
procedureじゃねぇ!!

5.2.3. Multiple-value de finitionsより
define-valuesが追加されている。

5.5.1. Library Syntaxより
cond-expandが<library declaration>に入ってる。どうしたものかね。

6.11. Exceptionsより
error-object系のプロシージャをどうしようか。R6RSのコンディションでいけるか?

6.13.4. System interfaceより
loadがenvironmentを引数に取るんだけど、えっ?って感じなんだが。う~ん。
evalのファイル版みたいなもの?

リテラルなリストの扱いが面倒だなぁ。

No comments:

Post a Comment