Frege 中的显式模块导出
Explicit module exports in Frege
我在阅读 Frege language specification 并使用搜索引擎查找示例后发布此内容。我希望我没有忽略一个明显的答案。
我正在尝试将一些 Haskell 代码移植到 Frege,但我找不到任何提及显式模块导出的文档。所以,在我的 Haskell 代码中,我有类似
的内容
module common.Timer(start, ...)
where
...
但这会在 Frege 中产生编译器错误,我必须删除导出列表:
module common.Timer
where
...
但是这样我无法控制模块中定义的哪些符号被导出。
是否可以在 Frege 中定义显式模块导出?如果是这样,语法是什么?
您的代码看起来没问题。在我深入研究可能的错误之前,这里有一个快速解决方法,以便您可以继续工作:默认情况下导出所有顶级符号,除非它被标记为 private
.
讨论后编辑:这是与我们即将解决的 Haskell 标准的当前偏差。
我在阅读 Frege language specification 并使用搜索引擎查找示例后发布此内容。我希望我没有忽略一个明显的答案。
我正在尝试将一些 Haskell 代码移植到 Frege,但我找不到任何提及显式模块导出的文档。所以,在我的 Haskell 代码中,我有类似
的内容module common.Timer(start, ...)
where
...
但这会在 Frege 中产生编译器错误,我必须删除导出列表:
module common.Timer
where
...
但是这样我无法控制模块中定义的哪些符号被导出。
是否可以在 Frege 中定义显式模块导出?如果是这样,语法是什么?
您的代码看起来没问题。在我深入研究可能的错误之前,这里有一个快速解决方法,以便您可以继续工作:默认情况下导出所有顶级符号,除非它被标记为 private
.
讨论后编辑:这是与我们即将解决的 Haskell 标准的当前偏差。