4

如何导出我的数据系列实例的构造函数?我尝试了各种方法都没有成功(见注释掉的代码):

module Test (
    --Foo () (..)
    --type Foo () (..)
    --UnitBar
) where

class Foo a where
    data Bar a :: *

instance Foo () where
    data Bar () = UnitBar

我能够成功导出构造函数的唯一方法是在执行

module Test where

注意没有括号。这种方法的缺点是留下的信息太多!

4

1 回答 1

9

采用

module Test (
    Bar(..)
) where

从关联的数据族中导出所有构造函数Bar。或者

module Test (
    Bar(UnitBar)
) where

仅导出单个构造函数。

您可以阅读GHC 文档中的相关部分以获取更多详细信息。

于 2013-09-30T08:00:47.957 回答