[Haskell-beginners] Writer and mappend
Britt Anderson
britt.uwaterloo at gmail.com
Tue Mar 15 21:18:42 CET 2011
I have a question related to using Writer with a user defined datatype
where I want some of the fields to append and others to just take the
last value
as a reduced example, if I had a data type like this:
data Mydat = Mydat {list1 :: [String], item1 :: Float}
and I wanted a Writer MyDat a
where the strings keep on appending, but the float value just takes
the last value.
would I have to define Float as an instance of Monoid like
instance Monoid Float where
mempty = 0.0
mappend a b = a
?or maybe mappend a b = b
before defining an instance of MyDat
Or can I do something like
instance Monoid MyDat where
mempty = Mydat [] 0
mappend a b = (Mydat (mappend (list1 a) (list1 b)) (item1 a))
without defining an instance for Float?
Thank you, Britt
More information about the Beginners
mailing list