Monoid instances by cojna

_#[y]=y
x#(y:z)=y++x++x#z
x&y=","#map(:x)y
main=putStr$"\n\n"#[["instance (",", "#["Monoid "++[c]|c<-s],") => Monoid (",""&s,") where\n    mempty = (",init$s>>"mempty,",")\n    (","1"&s,") `mappend` (","2"&s,") = (",","#[c:"1 `mappend` "++c:"2"|c<-s],")"]>>=id|s<-[['a'..c]|c<-['b'..'z']]]

Note that non-ascii characters in the above source code will be escaped (such as \x9f).

download

return to the top page