Cli*_*ton 6 haskell monoids semigroup
基础中是否有任何新类型基本上可以实现以下目标?
newtype SemigroupFlip a = SemigroupFlip a
instance Semigroup a => Semigroup (SemigroupFlip a) where
(SemigroupFlip a) <> (SemigroupFlip b) = SemigroupFlip (b <> a)
instance Monoid a => Monoid (SemigroupFlip a) where
mempty = SemigroupFlip mempty
Run Code Online (Sandbox Code Playgroud)