Generative Programming

『ジェネレーティブプログラミング』 6章に入った

09:13 PM May 21, 2008 from web

オーバーロードは静的な多態らしい

10:58 PM May 21, 2008 from web

とか書いてあるので読んでみたら本当にちゃんとそう書いてあるのですな.

ジェネレーティブプログラミング (IT Architects’Archive CLASSIC MODER)

ジェネレーティブプログラミング (IT Architects’Archive CLASSIC MODER)

  • 作者: クシシュトフ・チャルネッキ,ウールリシュ・W・アイセンアッカ,津田義史,今関剛,朝比奈勲
  • 出版社/メーカー: 翔泳社
  • 発売日: 2008/04/23
  • メディア: 大型本
  • 購入: 5人 クリック: 393回
  • この商品を含むブログ (44件) を見る

これが 8 年前の本かー.しかも

とかだし.ごめんなさい私の「いまどき」は 8 年遅れてます.明らかに id:NyaRuRu:20080504:p2 はこの本を引用すべきでした.

たとえば Scala

6.5.1 Javaにおける総称性

(略)

[MBL97]はクラスにジェネリックパラメータを追加して、Javaジェネリックな機能を追加することを提案しています。しかし、メソッドへのジェネリックパラメータは提案していません。GJとの違いで面白いのは、別に定義したインターフェイスではなく、必要な操作を列挙することで方に対する制約を記述できることです。これにより、ジェネリックなPairクラスは次のように定義できます。

class Pair[T] where T { boolean greater (T t); } {
// ...
}

残念なことに、このアプローチを効果的に実装するには、Java仮想マシンJVM)を少々修正しなければならないことが[MBL97]の中に示されています。

これを書いている時点では、これらの提案が標準のJavaに取り入れられるかどうかは分かりません。†


† 訳注: JDK 1.5 からサポートされたGenericsはGJの仕様を参照しています。

こういう話を読みながら,「Scala のことですね.わかります」とか独り言を言いながら読めるのは 8 年後の人間の特典なのか罰ゲームなのか.