R6RS
Revised^6 Report on Algorithmic Language Scheme -- アルゴリズム言語 Scheme に関する報告書第6改訂版。 2007年9月に正式に決定された。正式な文書は http://www.r6rs.org/ から 入手できる。
R5RSまでのミニマリズムから、実用主義へ大きく方針変更がなされたため、 仕様の分量もR5RSの50ページからR6RSは全4部、計187ページへと大きく膨らんでいる (ただしコア言語の仕様は90ページ、あとはライブラリや設計上の選択の理由説明である)。 そのため、それまでのミニマリズムを良しとするSchemerと、実用に使えるリッチな 仕様を望むSchemerの間でたいへんな議論となった。
結局、Schemeコミュニティ内で投票が行われ、賛成67票、反対35票、棄権10票で 批准された。しかし、批准の基準である総投票数の60%以上の賛成という点では 僅差とも言える結果であるうえ、既存のScheme処理系作成者の多くが反対するなど、 なかなか厳しい結果となった。(ただし、これは必ずしもSchemeコミュニティ自体の 分裂を意味するわけではない)。
一気に分厚くなった仕様を読むのも骨だし、このような結果をどうとらえるか についてはいくぶんかの背景知識も必要だろうから、ここでまとめておくことにする。
R6RSの歩き方
- R6RS:概要と例: R6RSドキュメントの構成と、R6RSプログラムがどんな感じになるかの例。
- R6RS:変更点: R5RSからの変更点。
- R6RS:標準ライブラリ: 標準ライブラリ概観。
- R6RS:経緯と将来?: R6RS批准までの流れと、これからの展望。
- R6RS:FAQ: FAQもあると便利かな。
- R6RS:翻訳: 分量が多くて大変なのでここでしてみんとす。
- SchemeCrossReference:R6RS: R6RSの構文と手続きの、他の規格や実装との クロスリファレンス。
- SchemeCrossReference:R6RS:CompatibilityNotes: R6RSが既存のSRFIと 非互換な点のメモ。
- R6RS:old: R6RS策定前のこのページの内容のアーカイブ。 初期のドラフトから最終仕様まではかなり変わっているので注意。