パラメトリック多相
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/05 07:11 UTC 版)
「ポリモーフィズム」の記事における「パラメトリック多相」の解説
詳細は「パラメトリック多相(英語版)」を参照 パラメトリック多相を使うと、値の型に関係なく「一様に」値を扱うことで、関数やデータ型を総称的に記述できるようになる。パラメトリック多相は言語の静的な型安全性を保ちながら表現力を向上させる手法のひとつである。 パラメトリック多相の概念は関数とデータ型の両方に適用される。異なる型の値に対して評価、適用可能な関数のことを「多相な関数」という。総称化された型とみなすことができるデータ型(例えば任意の型の要素を持てるリスト)は「多相なデータ型」という。 パラメトリック多相性は関数型プログラミングの分野では至るところに現れるため、しばしば単に「多相性」と言われることがある。次のHaskellの例ではパラメータ化されたリストと2つのパラメトリック多相な関数を示す。 data List a = Nil | Cons a (List a)length :: List a -> Integerlength Nil = 0length (Cons x xs) = 1 + length xsmap :: (a -> b) -> List a -> List bmap f Nil = Nilmap f (Cons x xs) = Cons (f x) (map f xs) パラメトリック多相は様々なオブジェクト指向言語でも利用できる。例えばC++やD言語のテンプレート、JavaやC#のジェネリクスなどである。 class List
※この「パラメトリック多相」の解説は、「ポリモーフィズム」の解説の一部です。
「パラメトリック多相」を含む「ポリモーフィズム」の記事については、「ポリモーフィズム」の概要を参照ください。
- パラメトリック多相のページへのリンク