如何将以下数据类型用于它的 Monoid 实例?
data Counts = Counts {
binds :: Int,
returns :: Int,
gets :: Int,
puts :: Int
} deriving (Eq, Show)
例如,我想出类似的东西:
mempty = Counts { 0, 0, 0, 0 }
(Counts { b, r, g, p }) mappend (Counts { b', r', g', p' }) = Counts { (b + b'), (r + r'), (g + g'), (p + p') }
但这给了我一个解析错误'0'......也许我做错了并且误解了数据类型/幺半群,但我无法弄清楚。如果有人可以帮助我,将不胜感激!
最好的问候,Skyfe。