Lambdaカクテル

京都在住Webエンジニアの日記です

Invite link for Scalaわいわいランド

図で眺める Scalaの変位指定アノテーション

今日チームでScalaのこういう型制約ってどう書くんだっけ、といった話をしていて、Scalaには色々な型制約の表現の方法があることだなあ、と考えていた。そして、全て覚えるのは大変だなと思った。自分は特に変位指定アノテーションを覚えるのが大変だった。今もたまに忘れてしまう。

変位指定アノテーションというのは、パラメータ化された型と、その型パラメータとの関係が、型パラメータのサブタイプ関係にどう引きずられるかを表現する手段だ。やっぱり文章で書くと意味不明だ。

どう表現すればよいのやらと思案していると、型の大小関係にかかわる事柄なのだから図にすればよいと思った。そうこうして図を描いていると良い感じになったのでツイッターに放流した。

1

2

3

4

Contravariantのちょうど良い例がなかったので、Function1を例に出したけれど、もっと良い例があったかもしれない。

なんでも図にすればよいわけではなくて、込み入った状況を整理するための道具として図を使うと、見事な表現が作れると思う。なんでもグラフにすればよいわけではないのと同じだ。

★記事をRTしてもらえると喜びます
Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?