@nagise さんの記事『Javaによる高階型変数の実装』 http://d.hatena.ne.jp/Nagise/20110124/1295874192 から派生した型についての議論。ジェネリクスの見方、Scala との比較など。
どうも、鹿島和郎(かしまかずお)です。前回のコラムを書いたのが例の大震災直後だったので、約3ヶ月ぶりとなりますが、皆様はいかがお過ごしだったでしょうか。私の方はというと、地震直後は何となく気分がそわそわして仕事にあまり集中できず、4月くらいからようやく落ち着いてきたと思ったら、今度は仕事で忙しくなってしまい、ずるずると6月になってしまいました(正直ネタが切れてたのもあります)。 さて、突然ですが、この原稿は羽田空港でサンフランシスコ行きの飛行機を待っている間に書き始めたものです。6月2日~3日の2日間、アメリカのスタンフォード大学で開催されたScala Days 2011というイベントに参加するためです。 本コラムを読んでくださっている方はご存じかもしれませんが、昨年の9月に思い立ってScalaというプログラミング言語を勉強し始めて半年以上が経ちました。Scalaを勉強し始めて1週間も経た
高階関数というものをご存知か。関数自身を引数あるいは戻り値に取る関数のことである。「高階」は「こうかい」と読む。その昔「たかしな」と読んだ人がいたとか、いないとか。 先のエントリ「HttpSessionを型安全にする」では「javax.servlet.http.HttpSessionのsetAttribute()/getAttribute()のようなモノをどうやって型安全にするか」という動機付けから、 public class KeyValue<K> { public <T> void put(K<T> key, T value){} } といったことをやろうとして、Javaの言語仕様上、型変数に型変数を持たせることができないので実現できないと述べた。 簡単に解説すると、ここでKayValueはHashMap的なキーを渡せば値を返すオブジェクトで、型変数Kはキーの集合体を表現している。ty
「ハイヤーーーーーッッ!!!」 と気合いを入れたところで、今日はScalaのコレクションライブラリで多用されている、Higher kind genericsについて軽く解説したいと思いハイヤーーーーーッッ!!! Higher-kind Generics(type constructor parameter)って? まぁぶっちゃけ@kmizu が解説してくれてるのでコレ読んでもらえばおけです。 ScalaのHigher-kind Genericsについて - Togetter そういえば最近Javaでもid:Nagiseによるこんな話がありましたね。 Javaによる高階型変数の実装 - プログラマーの脳みそ Java による高階型変数と Scala とジェネリクス - Togetter 要は、型パラメータを取る型パラメータ(?)が使えるよって話。 trait AttrHelper[+Hold
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く