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

import Data.Foldable (Foldable (..))
import qualified Data.Foldable as Foldable (foldr, foldl, foldr1, foldl1, foldMap)


此导入语句似乎有效。但是可折叠类现在是可折叠的。

import qualified Data.Foldable as Foldable (Foldable (..), foldr, foldl, foldr1, foldl1, foldMap)

最佳答案

foldr等是Foldable的类方法,因此在第一个变体中,它们导入时不受import Data.Foldable (Foldable(..))的限制。
要仅导入不合格的类,而不是其方法,请使用

import Data.Foldable (Foldable)
import qualified Data.Foldable as Foldable

关于haskell - 如何将Foldable类导入模块?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7947981/

10-09 14:23