Haskell中的包,模块和导入

Joh*_*ler 5 haskell

我对Haskell很新.有人会解释代码组织在Haskell中的工作原理吗?到目前为止,我已将所有内容都写在一个很长的文件中,并测试了来自GHCi的代码.我想开始编写测试,将我的代码重构为逻辑单元.关于如何在很多地方做到这一点有点点零碎,但没有什么全面的.

请解释包,模块和import语句如何工作,然后告诉我如何使用它们将代码组织到一个更大的,测试驱动的项目中.

Ant*_*ter 5

以下是Haskell模块的介绍:"了解一下Haskell for Great Good!":

http://learnyouahaskell.com/modules

我将一个包称为Haskell软件的最小可交付单元.对于大多数人来说,足以说"软件包就是Hackage上的东西".

如果您要发送可执行文件,我不会担心在您进入第二个项目之前将项目分解为多个软件包,并且希望重新使用第一个项目中的模块.