2007年12月6日木曜日

JavaFX言語の展開:関数と操作の統合

11月27日の投稿でも少しふれましたが、JavaFX言語も、コンパイラのサポートとともに、より明快で使いやすいものへと発展しようとしています。
そこで、JavaFXはどのように変わるのか、ということについて検討中の話題も含めて整理しておきたいと思います。
まずは、「functionとoperationの統合」についてです。
現状のインタプリタ版では、手続きの記述方法として関数(
function)と操作(operation)の2つが用意されています。関数は、return文を用いて必ず値を返し、結合演算子(bind)を明示的に指定しなくても、その本体は差分評価(incremental evaluation)されます。それに対して、操作の方は、必ずしも値を返す必要がなく、関数では使えない制御文が使えます。その代わり、操作の本体は関数のように暗黙的に差分評価されることはありません。
しかし、手続きとして関数と操作の2種類があると紛らわしいので、次のように関数
に統合されることになります(「旧」はこれまでのインタプリタ版で用いられていた構文を、「新」はコンパイラ版で新しく適用される構文を意味します)。
(旧)
class Foo {
function times2(x) { return x * 2; }
operation print(s) { System.out.println(s); }
}
(新)
class Foo {
function times2(x) { return x * 2; }
function print(s) { System.out.println(s); }
}

0 件のコメント: