首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将可折叠类导入到模块中?

如何将可折叠类导入到模块中?
EN

Stack Overflow用户
提问于 2011-10-31 05:32:17
回答 2查看 731关注 0票数 2

下面的import语句导致了与foldr等人的冲突。因为第一个导入语句似乎将Data.Foldable中的所有函数都导入到我的模块中:

代码语言:javascript
复制
import Data.Foldable (Foldable (..))
import qualified Data.Foldable as Foldable (foldr, foldl, foldr1, foldl1, foldMap)

这个import语句似乎起作用了。但是,可折叠类现在是Foldable.Foldable:

代码语言:javascript
复制
import qualified Data.Foldable as Foldable (Foldable (..), foldr, foldl, foldr1, foldl1, foldMap)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-31 05:40:37

foldr等是Foldable的类方法,因此在第一个变体中它们被import Data.Foldable (Foldable(..))不限定地导入。若要只导入未限定的类,而不导入其方法,请使用

代码语言:javascript
复制
import Data.Foldable (Foldable)
import qualified Data.Foldable as Foldable
票数 9
EN

Stack Overflow用户

发布于 2011-10-31 05:39:49

你必须在Prelude模块中隐藏foldr

代码语言:javascript
复制
import Prelude hiding (foldr)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7947981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档