トップ «前の日記(2011-04-08) 最新 次の日記(2011-04-21)» 編集

Route 477



2011-04-19

[scheme] R7RSの最初のドラフトが公開された

twitterでちょっと話題になっていたこれ。

Schemeの言語仕様の第7版、R7RSの最初のドラフトである。R7RSは、(Schemeにしては)大きくなりすぎたR6RSの反省を受けて、 コア部分の「Small Scheme」を定義するWorking Group 1と、ライブラリまで含めた「Large Scheme」を定義するWorking Group 2に分かれている。今回のドラフトはWG1のSmall Schemeの方。

まだちゃんと読んでないけど、R5RSをベースに、モジュール・例外・レコード型などが追加された感じか。

  • レコード型はR6RSのやつより小さい仕様。サブセットかも。
  • syntax-caseは入ってなかった。
  • parameterizeが入った。
  • 新しいデータ型としてblob (バイナリデータ) が入ってる。
  • R6RSで「R5RS互換ライブラリ」に追いやられたdelayとforceが復活してるw

2008年にこんなことを書いたのですが、以外と動きが速くてピンチですね。

あとjsSchemeはR5RSベースですが、BiwaSchemeはR6RS準拠を目指しています。 目標時期は「R7RSが策定されるより前」とされています。

[Route 477 - BiwaSchemeより引用]

しかしWG2の方はなんかまだまだかかりそうに見えます。ていうか、ThreadとかGettextとかUDPとかやりたい放題だなおまえら!