Racket 6.3登場。新しいマクロ展開器、Redexの改善など
PLT DesignがRacket 6.3を発表した。これはLisp/Schemeファミリーに属するマルチパラダイム・プログラミング言語の最新バージョンだ。Racket 6.3には新しいマクロ展開器、改善されたRedex DSL、GTK3サポートなどが含まれている。
マクロはLispベースの言語で最も典型的な機能の一つだ。Racket 6.3は“set of scopes”と呼ぶバインディングの新しい表現モデルを導入している。これは以前の健全なマクロ(hygienic macro)式を置き換えるものだ。PLTの研究者Matthew Flatt氏によると、新しいマクロ展開器は以前のものよりも使いやすく、バインディング失敗時により良い診断を提供し、実装がシンプルなので、バグを生みにくいという。欠点は、新しいマクロシステムは以前のRacketマクロと完全互換でないことだ。
Racket 6.3ではRedexパターンの構文エラーチェックも改善されている。Redexは操作的意味論を規定・デバッグするためのドメイン固有言語で、言語を形式的にモデル化するのに使われる。
Racket 6.3のその他の新機能を以下に挙げる。
- GTK+3のGUIサポート。利用可能なとき自動的に使われる。
PLT_GTK2
をオーバーライドしない。 - Typed Racketのサブモジュールサポート。新しいマクロ展開器により可能になる。これまでサブモジュールの使用で苦しめられたエラーの原因を完全に取り除く。
- 新しい
typed/racket/unsafe
により契約生成を回避できる。これは安全性とデバッグしやすさを犠牲にしてパフォーマンスを改善する。 racket/unit
はTyped Racketにおけるユニットの実験サポートを提供する。
RacketはLGPLライセンスで提供されている。設計目標の一つは、言語の創造・設計・実装のプラットフォームとして使われることだ。この言語はスクリプティング汎用プログラミング、コンピュータサイエンス教育、研究など様々な場面で使われている。
特集コンテンツ一覧
Raspberry Piの今
太田昌文(日本Raspberry Pi ユーザーグループ代表) 2015年7月23日 午前1時17分
子どもの創造的活動のための環境としてのScratchおよびRasberryPiの可能性
阿部和広(青山学院大学/津田塾大学 非常勤講師)+InfoQ編集 2015年7月9日 午後9時15分
デザイン思考とMVPを統合し、製品開発を改善する方法
Dmytro Svarytsevych 2015年7月9日 午後8時51分
簡潔なJavaコード
Casimir Saternos 2015年5月24日 午後7時57分
こんにちは
コメントするには InfoQアカウントの登録 または ログイン が必要です。InfoQ に登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。
あなたの意見をお聞かせください。