Options.Applicative,(<>)和Monoid类型类

时间:2017-02-07 21:20:01

标签: haskell

我正在学习Haskell。我正在导入Options.Applicative模块,如下所示:

import Options.Applicative ((<>), Parser)
import qualified Options.Applicative as P

然而,这会返回

Module ‘Options.Applicative’ does not export ‘(<>)’

这有什么问题?这documentation表明这应该是可能的。

2 个答案:

答案 0 :(得分:7)

(<>)位于Data.Monoid,而不是Options.Applicative。它是mappend的中缀同义词。

答案 1 :(得分:7)

您需要从(<>)Data.Monoid导入Data.SemigroupOptions.Applicative doesn't actually re-export it。一种快速验证方法是检查the "<" page in the documentation index,如果重新导出,则会包含(<>)

P.S。:虽然目前Hackage上的自述文件确实有点误导,但缺少的导入已经added upstream at GitHub,所以当下一个版本的软件包发布时它将被修复。