ついに R7RS small language の最終版ドラフトが批准(Scheme Language Steering Committee に承認)されました: http://lists.scheme-reports.org/pipermail/scheme-reports/2013-November/003832.html
全会一致での承認だったそうですが、http://www.scheme-reports.org/2009/position-statement.html によると90%以上の得票が必要だったはずなので、ほっと一安心といえます。
これで R5RS 同様、そして R6RS に反して、formal semantics の章に denotational semantics が掲載されることが決まりました。しかも今回は dynamic-wind
の記述も追加されています。
R7RS large language の策定はまだこれからですが、small については R5RS をベースに R6RS と SRFI からうまくいいとこ取りをしているのが好印象です。マクロについては syntax-rules
による hygienic なものだけなので、保守的といえるかもしれません。
最終版公開以来 scheme-reports の public discussion で挙げられた細かい問題点は errata にまとめられています。
以下が最終版を一読したところの個人的な感想です:
[ ]
がしれっとまた「将来の拡張のために予約」に戻っているsquare
read
を煩わせるだけのような気のする #true
と #false
emergency-exit
は利用する場面がいろいろありそう(scheme time)
で提供されている手続きは、Scheme プログラムの簡単な性能プロファイリングをする sample code で使われそうdelay-force
は R7RS での真の前進current-input-port
などの扱いが明確になった