Varianceのはなし

http://togetter.com/li/66412

Variant、in-variant、co-variant、contra-variant。

なんだろう、単語のイメージについてわかると良いのかな。

Variantが変化するやつ。CS業界では「loop variant」みたいな言葉があります(ホーア論理)。VariableとかVariationとか、そのへんのVarと一緒だと思えばいいんじゃないですかね。とりあえず連想を言っただけど、語源とかは知らん。

in-variant。この「in-」は否定。「incompatible」とか「invalid」とかいろいろありますね。同じくホーア論理から「loop invariant」(ループ不変条件)みたいな言葉があります。

co-variant。この「co-」は「一緒に」くらいに思ってる。「coworker」のco-と一緒だと思う。coworkerって同僚くらいの意味で、まあ一緒に仕事してる人。

contra-variant。この「contra-」はコントラバスとかコントラファゴットとか思えば良い……というのは冗談で、えーとコントラストとかそういうイメージで捉えれば良いんじゃないかな。逆っていう意味。


なんだろう、この英単語の覚えかた、みたいな記事は。


最後に冗談に出したcontra-bass/contra-fagotとかのcontraとかちょっと気になります。contra-bass/bass-clarinetのbassの関係とか考えると……誰か教えてください。

inとunもちょっと気になります。un-soundとかun-decidableとか言いますが、in-soundとかin-decidableとは言いませんし、逆にun-completeとも言いません。誰か教えてください。