BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Mark Mahieu氏がCICEクロージャプロトタイプを作成

Mark Mahieu氏がCICEクロージャプロトタイプを作成

ブックマーク
過去数年のJava業界において最もホットな話題は、Java言語にフルサポートクロージャを付加することであった。クロージャが導入可能な複雑性が与えられているのを踏まえ、多様なプロポーサルのためのプロトタイプを用いて実験することが可能でない限りそれがもたらす影響を判断するのは難しい。
今やNeal Gafter氏のBGGAプロポーサルプロトタイプ(source)に参加しているMark Mahieu氏は、Bob Lee氏、Doug Lea氏、Josh Bloch氏によって記されたCICE/ARMプロポーサルの実装(source)を編さんしている。Concise Instance Creation Expressions (CICE)(source)は単純にRunnable、Callable、かもしくはComparatorのような単一の抽象メソッドを用いて、内部クラスのインスタンス のインスタント化のための、よりコンパクトなシンタックスを提供する。Automatic Resource Management (ARM)(source)ブロックはクロージャ用の主要使用ケースの一つをサポートする。リソース上でクローズメソッドを自動的に呼ぶブロックのレキシカルなスコープを出るような時にブロック内でのリソーススコープの使用である。

Mahieu氏の最初の実装はスコープ内に制限されている。CICEには表現、パブリックローカル変数と黙示的にファイナルローカル変数のみが実装されて いる。パブリックローカルとタイプインファレンスは実装されていない。ARMのブロック実装はARMブロックのdo() { } formのみをサポートしまたスタート地点としてjava.io.Closeableに依存している。Mahieu氏が記したように、Closeableを使用しているARM仕様そのものはたくさんの既存のタイプ、java.sql.Connection, Statement, ResultSetなどなどが未チェックの例外を投入するという事実の観点においてそれを実装するように作ることができないため問題的なのである。

プロトタイプは既にチェック済みの例外用のdo() { } formのデフォルトセマンティックを変更するより、新しいARM実装のビルド(source)がプロポーサル内の詳細を排斥するのを助けている。

Stephen Colebourne氏がFCM用のプロトタイプ(source)に取り掛かっているのでこの先数年において私達はプロポーサルが作用しているかいないかを把握することが可能になるだろう。

原文はこちらです:http://www.infoq.com/news/2008/01/cice-closure

この記事に星をつける

おすすめ度
スタイル

BT