次のコードでデータツリー用の折り畳み式のインスタンスを作成しようとすると:しかし、このコードは、それが生成するエラーが動作していないデータツリーのHaskellの折り畳み式のインスタンス
data Rose a = a :> [Rose a]
deriving (Eq, Show)
instance Foldable Rose where
fold (a:>b) = a <> (map fold b)
:
Could not deduce <m ~ [m]>
from the context <Monoid m>
bount by the type signature for fold :: Monoid m => Rose m -> m
...
In the return type of a call of 'map'
...
誰でもそれを動作させる理由/方法を知っていますか?
«は機能していません»実際には役に立ちません。型チェックしないのですか?その後、エラーメッセージは何ですか?それとも、それは間違った結果を生み出しますか?どの入力? –
エラーメッセージが表示された投稿を編集しました – Skyfe
エラーメッセージの内容を理解していますか?あなたがそれをゆっくりと読めば、あなたはあなたの問題を解決する方法を知っているでしょう。もしそうでなければ、エラーのどの部分を理解していないのかを言うべきです。 –