我使用不同的数据类型来表示记录,因为虽然所有这些数据类型都属于同一类别,但它们具有不同的字段和解析方法: data RecordTypeA = RecordTypeA { ... }
data RecordTypeB在尝试这样做时,我遇到了两个问题: 首先,我不能编写一个以FilePath作为输入并返回适合该文件的记录列表的函数(我根据文件名来决定)。我遇到了“刚性类型变量”错误(类似于Rigid type variable in <
deriving (Show) 它是从这本书中学到的Haskellfor Great Good,它伴随着下面的代码示例:
注意,在定义点时,我们为数据类型和值构造函数使用了相同的名称。这没有什么特别的意义,不过,如果只有一个值构造函数,则通常使用与类型相同的名称。现在我的假设是data Point =