我对Haskell中 类型 与 数据类型 之间的区别感到困惑
从我遇到的文献中我得到的印象是他们是不同的概念。
答案 0 :(得分:45)
类型和数据类型指的是完全相同的概念。
Haskell关键字type
和data
不同,但是:data
允许您引入新的代数数据类型,而type
只是一个类型同义词。
有关详细信息,请参阅Haskell wiki。
答案 1 :(得分:1)
这些术语有时是混合的,但通常“数据类型”是指使用data
关键字引入的类型,该关键字具有可以模式匹配的构造函数。这些也称为代数数据类型“。
只是“类型”是一个更通用的术语,它还包括使用newtype
创建的类型,函数类型等。