関数の型の事例とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 関数の型の事例の意味・解説 

関数の型の事例

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/22 07:06 UTC 版)

共変性と反変性 (計算機科学)」の記事における「関数の型の事例」の解説

関数の型(英語版)での共変性と反変性は、そのサブタイプでのパラメータ型とリターン型の汎化特化制約して、サブタイピングの型安全性実現するための概念になる。 本節では幾つかの例から説明する関数の型はパラメータ型 -> リターンと書式される。記号<:は、派生 <: 基底表わす基底側の関数派生側の関数安全に代替できることを、関数の型の型安全性と言う。 ここで型Cat <: Animal とすると、関数Animal->Animalへの関数Animal->Cat代入は、その反対よりも安全なので、(Animal->Cat) <: (Animal->Animal)が推奨されるパラメータ型が同一ならば、リターン型のサブタイプ関係をそのまま関数の型のサブタイプ関係に反映できる。これは共変である。 パラメータ型の方は事情異なり関数Animal->Animal関数Cat->Animalの、どちらを代入先の基底型にするべきかという疑問提起されていた。ジョン・レイナルド(英語版)とルカ・カルデリ(英語版)によって、(Animal->Animal) <: (Cat->Animal)の方が型安全と結論付けられている。これは反変である。 パラメータ型とリターン型のコンビはやや複雑になる。ここでパラメータ型をCat <: Animalとし、リターン型を獣人 <: 動物とすると、その関数の型では、(Cat->獣人) <: (Animal->動物)よりも、(Animal->獣人) <: (Cat->動物)の方が、型安全という結論になっているこの辺りは代数学からの考え方になっている。 これはジェネリック関数でも用いられて、S func[-T, +S] (T x, T y) { ... } のように構文化される。-は反変記号、+は共変記号である。関数funcの各インスタンスは、型引数反映したサブタイプ関係で結ばれる

※この「関数の型の事例」の解説は、「共変性と反変性 (計算機科学)」の解説の一部です。
「関数の型の事例」を含む「共変性と反変性 (計算機科学)」の記事については、「共変性と反変性 (計算機科学)」の概要を参照ください。

ウィキペディア小見出し辞書の「関数の型の事例」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「関数の型の事例」の関連用語

関数の型の事例のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



関数の型の事例のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの共変性と反変性 (計算機科学) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS