ポリモーフィズム
パラメトリック多相を使うと、値の型に関係なく「一様に」値を扱うことで、関数やデータ型を総称的に記述できるようになる。パラメトリック多相は言語の静的な型安全性を保ちながら表現力を向上させる手法のひとつである。
パラメトリック多相の概念は関数とデータ型の両方に適用される。異なる型の値に対して評価、適用可能な関数のことを「多相な関数」という。総称化された型とみなすことができるデータ型(例えば任意の型の要素を持てるリスト)は「多相なデータ型」という。
パラメトリック多相性は関数型プログラミングの分野では至るところに現れるため、しばしば単に「多相性」と言われることがある。次のHaskellの例ではパラメータ化されたリストと2つのパラメトリック多相な関数を示す。
パラメトリック多相は様々なオブジェクト指向言語でも利用できる。例えばC++やD言語のテンプレート、JavaやC#のジェネリクスなどである。
ジャン=イヴ・ジラールとJohn C. Reynolds(英語版)は、それぞれ独立に、パラメトリック多相の概念をラムダ計算の拡張(System Fや多相ラムダ計算と呼ばれる)として形式的に発展させた。