キーワード

moshにもそろそろキーワード引数が欲しい。例えばGaucheのlet-keywordsとかSRFI-89のような。
これらのキーワードシステムはデータタイプを拡張するのでR6RS(やR5RS)の範囲内で実現することは出来ないが、R6RSに関しては似たものがxitomatlに有る。

Schemeのキーワードには2つの流派があるようで、

  • CL、Gauche、...のような、:を前置するスタイル
  • SRFI-88のような、:を後置するスタイル

いわゆるハンガリアン記法でも前置したり後置したりするが、前置のほうがIDE的にはうれしい(入力とともに補完候補を減らすことができるし、:を入力した瞬間に適切なTABを挿入できる)。
SRFI-88でもこの点が一番盛り上がっていて( http://srfi.schemers.org/srfi-88/mail-archive/threads.html )、結局後者が採用されている。
どっちがナチュラルな表記かは難しいところだ。

 > Semi-long posting, short summary: If we do indeed have to
 > standardize keywords, please use prefix colons. :-)

Don't you mean:

 Semi-long posting, short :summary If we do indeed have to

[Sorry... I just couldn't resist!]

I find colon at the end to be more natural since it closely corresponds to the use of colon in English (and many other natural languages).

SRFI-88なキーワードは実行時に生成できてしまうので、yuniportなキーワード(コンパイル時に解決する必要のあるキーワード)は前置:、SRFI-88なキーワードは後置:で区別するという方針もありかもしれない。前置:のキーワードはR6RS的なライブラリから常にexportされてるイメージ。ただ、R6RSライブラリのシンボルは重複できないので、同じキーワードを全く別の意味で使うときに困るかも知れない。。