カインド推論とは? わかりやすく解説

カインド推論

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/04 23:59 UTC 版)

カインド (型理論)」の記事における「カインド推論」の解説

標準Haskellでは多相カインド使えない。これはHaskellサポートされている、型におけるパラメータ多相とは対称的である。例えば、次の例: data Tree z = Leaf | Fork (Tree z) (Tree z) では、zのカインドは ∗ {\displaystyle *} だけでなく ∗ → ∗ {\displaystyle *\rightarrow *} など何でも構わないHaskellデフォルトでは、型が他のもの(以下を参照のこと)を明示的に指定しない限り、常にカインドを ∗ {\displaystyle *} と推論する。従って型チェッカ次のようなTree使い方受け付けない: type FunnyTree = Tree [] -- invalid というのは、[]のカインドの ∗ → ∗ {\displaystyle *\rightarrow *} は、常に ∗ {\displaystyle *} となるzの期待されるカインド適合しない。 しかし高階演算子使える例えば: data App unt z = Z (unt z) はカインド ( ∗ → ∗ ) → ∗ → ∗ {\displaystyle (*\rightarrow *)\rightarrow *\rightarrow *} を持つ。つまりunt単項のデータコンストラクタだと期待され、それを適用する引数は型でなければならず、そして型を返すGHCにはPolyKinds拡張があり、KindSignaturesと一緒に使うことで多相カインド使えるうになる例えば: data Tree (z :: k) = Leaf | Fork (Tree z) (Tree z)type FunnyTree = Tree [] -- OK

※この「カインド推論」の解説は、「カインド (型理論)」の解説の一部です。
「カインド推論」を含む「カインド (型理論)」の記事については、「カインド (型理論)」の概要を参照ください。

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



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

辞書ショートカット

すべての辞書の索引

「カインド推論」の関連用語

カインド推論のお隣キーワード
検索ランキング

   

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



カインド推論のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS