【发布时间】:2019-05-06 10:33:11
【问题描述】:
我正在尝试使用联合操作将 Haskell 整数集定义为 Monoid。
module MyMonoid where
import qualified Data.IntSet as S
data MyMonoid = MyMonoid S.IntSet
instance Monoid MyMonoid where
mempty = MyMonoid S.empty
MyMonoid m1 `mappend` MyMonoid m2 = MyMonoid (S.union m1 m2)
我得到了错误
• No instance for (Semigroup Markup)
arising from the superclasses of an instance declaration
• In the instance declaration for ‘Monoid MyMonoid’
我做错了什么?这看起来很简单,我正在复制我在this 之类的示例中看到的语法,但我不明白为什么会出现这个错误。
【问题讨论】: