BT

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

| 作者: Sergio De Simone フォローする 12 人のフォロワー , 翻訳者 笹井 崇司 フォローする 0 人のフォロワー 投稿日 2015年12月31日. 推定読書時間: 1 分 |

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

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには 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