再次,我对Haskell和Leskah的一个新手问题。

(首先,对Haskell恋人的主观称赞:每次回来参加Haskell的学习会议,我越来越喜欢它。我希望这会持续很长时间:-)。最新的乐趣是莱斯卡(Leskah)的糖,用于自动将符号转换为数学。它使代码看起来真的很好。但这不是重点...)

我想将我的学习者软件包整理到几个文件中。但是我没有成功地将第二个文件添加到我当前的软件包构建单元中包含其他定义的第二个文件。我已将其添加到Leskah/Edit软件包/额外文件中。但这似乎没有完成这项工作。我觉得更多的是,以这种方式添加所有新文件(通过Leskah/Edit Package/Extra Files)是有点笨拙的。

因此,构建的所有内容仍然只是我的主体的内容。我肯定错过了一点?!

另一个问题是,在C ++中,我大量使用 namespace 以按主题/目标对我的对象定义进行分类。 Haskell中的名称空间等效是什么?一个模块?一袋 ?

有帮助吗?

解决方案

关于Leksah:您可以通过浏览器面板添加新模块。只需右键单击,然后从上下文菜单中选择“添加模块”(注意:输入模块名称,而不是对话框中的文件名)。添加包装编辑器的模块的设计只是为了将存在的模块添加到Cabal文件中。 (如果您不知道“ Cabal”是什么意思,那么这是谷歌搜索的好时机:))

关于名称空间。我认为最近的等效是模块。您可以将模块导入到当前上下文中。另外,您可以导入模块资格,在这种情况下,您必须从模块中限定定义。另外,您可以在导入时“别名”模块名称。

import Module1
import qualified Modile2
import Module3 as M3
import qualified Modile4 as M4

软件包等同于C/C ++编译的库。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top