型クラスとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > 型クラスの意味・解説 

型クラス

(Type class から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/02/21 14:24 UTC 版)

計算機科学の)型クラス(かたクラス、Type class)は、アドホック多相英語版をサポートする型システムの機能である[1]パラメトリック多相英語版型変数英語版制約英語版を付加して、関数オーバーロードと演算子オーバーロードを実現するのが元々の目的になる[2]。その型変数に当てはめられたデータ型は、それへの制約でカテゴライズされることになる。

典型的な型クラスは、型クラスTと型変数aとそのaを引数/返り値にした総称関数英語版の構成で宣言される。aに型Xを当てはめたインスタンス化宣言でXTで制約されて、その型Xを引数/返り値にする関数演算子もインスタンス化される。総称関数も型Xでインスタンス化される[3]

型クラスは、Standard MLのeqtypesで提唱された後に、Haskellで初めて導入されている[4]。その主な目的は型注釈英語版などによる型システムの拡張的補正なしの関数オーバーロードの実現である[2]。これは純粋関数型英語版でのプログラムの形式的検証に必須になる。また、モナドの実践も容易にする。

その他の言語では、アドホック多相をサブタイプ多相に置き換えて、インターフェースジェネリクスを融合したような機能にされていることが多い。それはレコード構造体オブジェクトに実装されて、その振る舞いをカテゴライズする。

脚注

  1. ^ Wadler, P.; Blott, S. (1989). “How to make ad-hoc polymorphism less ad hoc”. Proceedings of the 16th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '89). Association for Computing Machinery. pp. 60–76. doi:10.1145/75277.75283. ISBN 0897912942. https://www.researchgate.net/publication/2710954 
  2. ^ a b Kaes, Stefan (March 1988). "Parametric overloading in polymorphic programming languages". Proc. 2nd European Symposium on Programming Languages. doi:10.1007/3-540-19027-9_9
  3. ^ Morris, John G. (2013). Type Classes and Instance Chains: A Relational Approach (PDF) (PhD). Department of Computer Science, Portland State University. doi:10.15760/etd.1010
  4. ^ Appel, A.W.; MacQueen, D.B. (1991). “Standard ML of New Jersey”. In Maluszyński, J.; Wirsing, M.. Programming Language Implementation and Logic Programming. PLILP 1991. Lecture Notes in Computer Science. 528. Springer. pp. 1–13. doi:10.1007/3-540-54444-5_83. ISBN 3-540-54444-5 



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  
  •  型クラスのページへのリンク

辞書ショートカット

すべての辞書の索引

「型クラス」の関連用語

型クラスのお隣キーワード
検索ランキング

   

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



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

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの型クラス (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS