perl – haskell中任何子集模块导入系统?
发布时间:2020-12-16 06:23:21 所属栏目:大数据 来源:网络整理
导读:使用Perl的 standard module exports,您可以指定按标签导出/导入的功能集. 所以,你可以拥有像:all或:private或:test等等. 从历史上看,建议似乎是如果你只是想要一些半私有函数,那么就有一个“内部”模块并重新导出它的“默认”部分. 我开始想要一个用于测
使用Perl的
standard module exports,您可以指定按标签导出/导入的功能集.
所以,你可以拥有像:all或:private或:test等等. 从历史上看,建议似乎是如果你只是想要一些半私有函数,那么就有一个“内部”模块并重新导出它的“默认”部分. 我开始想要一个用于测试目的的半私有接口.那么,这仍然是做到这一点的方式,还是我在最近的ghc中遗漏了什么? 解决方法
不,这在Haskell中是不可能的.
Haskell解决这个问题的方法就是拥有单独的模块.例如. module Foo.Private ( private1,private2,private3 ) where ... module Foo ( public1,public2,public3 ) where ... 此外,如果您希望Foo.Private从Foo重新导出所有内容: module Foo.Private ( module Foo,private1,private3 ) where import Foo ... 但如果Foo反过来导入Foo.Private,那么你将要么使用它 此外,与perl不同,ghc不支持在同一个模块中定义多个模块 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |