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,我有一个类似这样的目录结构 a - a.hs - b -- b.hs - c -- c.hs 我想把c.hs导入到b.hs,但我不知道如何进入目录并导入到b.hs。通常这类似于。/c/c.hs Haskell是如何做到这一点的?通常您不保存“仅代码”,而是保存模块模块名,其中。模块保存在反映模块名称的文件名和路径下,因此文件a目录/a.hs(注意开头的大写字母)以module ADirectory.a开头,其中,与其他文件相同 在编写代码之后,人们将模块收集到包中。 有时由于使用cabal安装

我有一个类似这样的目录结构

a
- a.hs
- b
-- b.hs
- c
-- c.hs
我想把c.hs导入到b.hs,但我不知道如何进入目录并导入到b.hs。通常这类似于
。/c/c.hs

Haskell是如何做到这一点的?

通常您不保存“仅代码”,而是保存模块
模块名,其中
。模块保存在反映模块名称的文件名和路径下,因此文件
a目录/a.hs
(注意开头的大写字母)以
module ADirectory.a开头,其中
,与其他文件相同

在编写代码之后,人们将模块收集到包中。 有时由于使用
cabal安装
工具(或可选的
stack
)而被随意称为“cabalization”,这可以通过
cabal init
完成,并确保您的cabal文件列出了每个模块

在文件
A目录/A.hs
等模块内,您可以导入其他模块。例如,
A
可以通过
导入B目录.B
导入
B

最后,如果还不明显,import语句引用的是编译器必须已经安装的模块。无法基于文件系统路径导入某些内容