仅导入模块的某些功能有什么影响

5 haskell module

在Haskell中,您只能导入模块的某些功能,如下所示:

import SomeModule(funFoo, funBar)
Run Code Online (Sandbox Code Playgroud)

其中,SomeModule想必不仅仅是定义更多的功能funFoofunBar.这是好习惯吗?这样做有什么回报?是否使目标代码更小或什么?

Gab*_*lez 7

限制从模块导入的主要优点是避免导入与其他模块(或Prelude)冲突的名称.它不会使目标代码变小.

  • 我发现它的另一个优点是它会告诉你一些模块的功能.如果我看到`import Control.Monad`,我期待很多monad魔法,但是如果我看到`import Control.Monad(forM_)`我知道所有真正发生的是一些函数循环遍历列表的副作用. (6认同)