如何导出数据族实例的构造函数?我已经尝试了各种方法但没有成功(参见注释掉的代码):
module Test (
--Foo () (..)
--type Foo () (..)
--UnitBar
) where
class Foo a where
data Bar a :: *
instance Foo () where
data Bar () = UnitBar
我能够成功导出构造函数的唯一方法是在执行
时 module Test where
注意括号的缺席。这种方法的缺点是信息太多了!
答案 0 :(得分:9)
使用
module Test (
Bar(..)
) where
从相关数据系列Bar
导出所有构造函数。或
module Test (
Bar(UnitBar)
) where
仅导出单个构造函数。
您可以阅读relevant section in GHC's documentation了解详情。