Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当Haskell模块没有声明任何导出时,这意味着什么?_Haskell - Fatal编程技术网

当Haskell模块没有声明任何导出时,这意味着什么?

当Haskell模块没有声明任何导出时,这意味着什么?,haskell,Haskell,我刚刚遇到一个Haskell模块,它似乎没有导出任何内容: 项目中还有其他模块可以导入它 import Schwifty.Swift.M105.Types 我认为Haskell模块总是必须声明它们的导出。如果您不这样做,这意味着什么?来自: 如果省略模块关键字后面的导出列表,则将导出绑定在模块顶层的所有名称 发件人: 如果省略模块关键字后面的导出列表,则将导出绑定在模块顶层的所有名称 你必须区分 空的导出列表模块Foo where和 在所有模块Foo where没有导出列表。 空的导出列表表示

我刚刚遇到一个Haskell模块,它似乎没有导出任何内容:

项目中还有其他模块可以导入它

import Schwifty.Swift.M105.Types
我认为Haskell模块总是必须声明它们的导出。如果您不这样做,这意味着什么?

来自:

如果省略模块关键字后面的导出列表,则将导出绑定在模块顶层的所有名称

发件人:

如果省略模块关键字后面的导出列表,则将导出绑定在模块顶层的所有名称


你必须区分

空的导出列表模块Foo where和 在所有模块Foo where没有导出列表。 空的导出列表表示:不导出值或类型定义。但是,模块仍然从模块本身和所有导入的模块导出所有实例声明,因此具有空导出列表的模块可能会很有用


完全没有导出列表意味着:导出模块本身中的所有值和类型定义。当然,还有所有实例声明。

您必须区分

空的导出列表模块Foo where和 在所有模块Foo where没有导出列表。 空的导出列表表示:不导出值或类型定义。但是,模块仍然从模块本身和所有导入的模块导出所有实例声明,因此具有空导出列表的模块可能会很有用

完全没有导出列表意味着:导出模块本身中的所有值和类型定义。当然,还有所有实例声明

import Schwifty.Swift.M105.Types