我想創建一個記錄,其中一個字段有一個未導出的類型,因爲它使用了一個智能構造函數。使用智能構造函數作爲類型不起作用。只有智能構造函數的記錄語法字段類型註釋
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增加了代碼。 –