未知 haskell 运算符; `<>`

Unknown haskell operator; `<>`

此代码似乎使用 <> 作为插值运算符。 https://github.com/hlian/linklater/blob/master/examples/app/JointPhotographicExpertsGroupTonga.hs

我找不到该运算符的文档或来源。任何想法does/where它来自什么。

使用 hayoo 在 Hackage 包中搜索定义。

在这种情况下,它似乎是 Data.Monoid 中定义的 mappend 运算符。

传统上,<> 主要是 Data.Monoid 中定义的函数。

(<>) :: Monoid a => a -> a -> a
(<>) = mappend

然而,semigroups 包长期以来一直将其用作 Semigroup class 中 Data.Semigroup 的方法。从 GHC 8 开始,Data.Semigroup 已移至 base 包中。目前有一个计划使 Semigroup 成为 Monoid 的超级 class。完成后,<> 函数将完全被 <> 方法取代。