我想创建一个记录,其中一个字段有一个未导出的类型,因为它使用了一个智能构造函数。使用智能构造函数作为类型不起作用。只有智能构造函数的记录语法字段类型注释
Not in scope: type variable `domain'
也许有一种语言扩展,可以让我做到这一点,或类似的东西?
将构造函数与智能构造函数一起导出将允许我解决此问题,但这反过来又会创建创建智能构造函数不允许的值的可能性。
(非工作)的代码,我现在所拥有的:
import Domain (domain) -- Domain is not exported, and domain is a smart constructor for Domain
data Rec = Rec
{ dint :: domain Int -- what do I do here? I want it to be `Domain Int` but `Domain` isn't exported.
...
}
请包括您的代码。很难说出这里发生了什么。 – Kwarrtz
这听起来像你可能会混淆类型和类型构造函数。但是,我无法从你发布的内容中知道。 – Kwarrtz
@Kwarrtz增加了代码。 –