Bool型をnewtypeで覆って、MyAnyとし、Monoidのインスタンスにしたいだけですが、うまくいきません。
Haskell
1newtype MyAny = MyAny {getMyAny :: Bool} deriving (Eq,Ord,Read,Bounded,Show) 2 3instance Monoid MyAny where 4 mempty = MyAny False 5 MyAny u `mappend` MyAny v = MyAny (u || v)
と書いたファイルをghciに読み込ませると
file13.hs:22:10: error:
• No instance for (Semigroup MyAny)
arising from the superclasses of an instance declaration
• In the instance declaration for ‘Monoid MyAny’
|
22 | instance Monoid MyAny where
|
となってしまいます。どうしたら、Monoidクラスのインスタンスになるのでしょうか。
回答2件
良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2020/06/01 06:19