BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Racket 6.3登場。新しいマクロ展開器、Redexの改善など

Racket 6.3登場。新しいマクロ展開器、Redexの改善など

原文(投稿日:2015/12/05)へのリンク

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ライセンスで提供されている。設計目標の一つは、言語の創造・設計・実装のプラットフォームとして使われることだ。この言語はスクリプティング汎用プログラミング、コンピュータサイエンス教育、研究など様々な場面で使われている。

この記事に星をつける

おすすめ度
スタイル

BT