gpt4 book ai didi

file - 为什么必须在源文件开头指定模块名称?

转载 作者:行者123 更新时间:2023-12-04 18:06:44 24 4
gpt4 key购买 nike

GHC 坚持模块名必须等于文件名。但如果它们相同,那么为什么 Haskell 编译器需要两者?对我来说似乎是多余的。这只是语言设计错误吗?

除了不便之外,它还提出了一个问题,如果我想使用 2 个意外具有相同顶级模块名称的库,那么我不能简单地通过重命名其中一个的文件夹来消除歧义。这个问题的惯用解决方案是什么?

最佳答案

Haskell 语言规范没有讨论文件。它只讨论模块及其语法。所以显然没有语言设计错误。

GHC 编译器(和许多其他编译器)选择遵循每个文件一个模块的模式,并在具有匹配名称的文件中搜索模块。对我来说似乎是一个不错的策略。否则,您需要为编译器提供一些从模块名称到文件名的映射,或者提供每个正在使用的文件的显式列表。

关于file - 为什么必须在源文件开头指定模块名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25463236/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com