web-dev-qa-db-ja.com

Haskellの型とデータ型の違いは何ですか?

type-の違いについて少し混乱していますデータ型Haskellで。

私が出会った文献から、それらは異なる概念であるという印象を受けました。

34
user997112

Typedata typeはまったく同じ概念を指します。

Haskellのキーワードtypedataは異なりますが、dataを使用すると、新しい代数的データ型を導入できますが、typeは型の同義語になります。

詳細は Haskell wiki を参照してください。

52
Fred Foo

用語が混在することもありますが、通常、「データ型」とは、dataキーワードを使用して導入された型を指し、パターンマッチングできるコンストラクターがあります。これらは代数的データ型とも呼ばれます。

単に「タイプ」はより一般的な用語であり、newtypeを使用して作成されたタイプ、関数タイプなども含まれます。

2
hammar