「Haskellへの穏やかな紹介」の第2章では、ユーザ定義型について説明し、組み込み型は特別な構文を除いて、ユーザ定義型とは異なります。Haskell - ビルトイン型としてのタプルとリスト:実際に宣言されているのはどうですか?
以前は、リスト、タプル、整数、文字などのいくつかの「ビルトイン」タイプを紹介しました。また、新しいユーザー定義型を定義する方法も示しました。特別な構文とは別に、組み込み型はユーザー定義型よりも特別な形でありますか?答えはいいえだ。 (特別な構文は利便性のために、歴史的な条約との整合性のためですが、何の意味的な影響を持っていません。)
ですから、次のようにタプルを定義することができます。
必ずのでできませんdata (a,b) = (a,b)
data (a,b,c) = (a,b,c)
data (a,b,c,d) = (a,b,c,d)
を無限の宣言が必要です。では、これらのタイプは実際どのように実装されていますか?特に型宣言に対してのみパターンマッチングができるという事実に関しては?あなたがそこに3つのタプルタイプを定義し
任意のプログラムで無限のタプル数を使用するつもりはありません。 –