我正在学习Haskell。我正在导入Options.Applicative
模块,如下所示:
import Options.Applicative ((<>), Parser)
import qualified Options.Applicative as P
然而,这会返回
Module ‘Options.Applicative’ does not export ‘(<>)’
这有什么问题?这documentation表明这应该是可能的。
答案 0 :(得分:7)
(<>)
位于Data.Monoid,而不是Options.Applicative。它是mappend
的中缀同义词。
答案 1 :(得分:7)
您需要从(<>)
或Data.Monoid
导入Data.Semigroup
,Options.Applicative
doesn't actually re-export it。一种快速验证方法是检查the "<" page in the documentation index,如果重新导出,则会包含(<>)
。
P.S。:虽然目前Hackage上的自述文件确实有点误导,但缺少的导入已经added upstream at GitHub,所以当下一个版本的软件包发布时它将被修复。