BT

Racket 6.1がリリース

| 作者: Sergio De Simone フォローする 17 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2014年9月12日. 推定読書時間: 2 分 |

原文(投稿日:2014/08/05)へのリンク

PLT DesignがRacket バージョン6.1をリリースした。Lisp/Schemeファミリーに属する,マルチパラダイムな多目的プログラミング言語だ。 バージョン6.1では,再帰的なローカル変数の定義と,他言語の機能を扱うための新しい方法がいくつか導入されている。

racket-lang.orgRyan Culpepper氏が述べるところによると,Racket V6.1に追加された最も重要なイノベーションは,再帰的なローカル変数定義を扱う方法だ。 これまでのバージョンでは,変数は#undefined値によって初期化されていた。今回の変更で,変数は初期化されないようになった。定義よりも前に変数にアクセスしようとすると,Racketが例外を発生させる。この変更は開発者に対して,変数の不適切な使用を早期かつ改善された方法でフィードバックすることを目的としたものだ。#undefinedで変数が初期化されることを意識したプログラムはほとんどないので,この変更によってプログラムのセマンティクスが変更されることはないはずだ,と氏は述べている。さらにこの新しい動作は,変数が定義前に使用された場合に例外が発生するという意味で,モジュールレベルの変数に関する既存の動作とも一致している。

この新しいローカル変数定義の動作には下位互換性がないため,誤って未定義の変数にアクセスしているプログラムは動作しなくなる。次のように,

(define undefined (letrec ([x x]) x))

#undefined値を取得するパターンも動作しない。今後#undefined値を取得するには ,racket/undefinedを使用するのが正しい方法になる。

Racketの新バージョンで導入された他の変更点は以下のとおりだ。

  • Plumbersでは,current-plumber, plumber-add-flush!, plumber-flush-all などの新しい関数セットでフラッシュ動作を行うことによって,フラッシュのタイミングのより細かい制御を可能にする。
  • Contractsは,制約付きのデータ構造の実装に関する(ヒープ不変チェックの条件節を逆にしてしまった,などの)ミスを,容易に見つけられるようにする。
  • WindowsとMac OS X用のグラフィックライブラリと関連リソース (Pango, Cairo, GLibなど)がアップグレードされた。
  • OpenSSLライブラリが,DHEとECDHE暗号スイートによる前方秘匿性(Forward Secrecy)とサーバ名表示をサポートするようになった。
  • mzlib/class100ライブラリがracket/classにリプレースされた。

Racket(旧名称はPLT Scheme)はLGPLライセンス下でリリースされた,フリーで汎用的なマルチパラダイムプログラミング言語である。その設計目標の1つは,言語の作成,設計,実装のためのプラットフォームとして機能することにあり,スクリプティング,汎用プログラミング,コンピュータサイエンス教育,研究などのさまざまなコンテキストで使用されている

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT