标签: haskell interface module abstraction
导入某些数据类型时,需要将(..)用于导入构造函数。
是否可以阻止导出某些数据类型的构造函数,即使导出该数据类型也是如此?
答案 0 :(得分:15)
是的,只需在导出它们时使用相同的语法 - Foo()只是为了导出类型,Foo(..)来导出类型和所有构造函数,Foo(FooC1,FooC2)只是导出命名的构造函数类型。
Foo()
Foo(..)
Foo(FooC1,FooC2)