I'm wondering whether there is a reason to use one over the other for string concatenation:
λ> "foo" ++ "bar"
"foobar"
λ> "foo" <> "bar"
"foobar"
Operator ++ is defined as list concatenation while <> is an associative binary operator of a semigroup. In GHC.Base we even have that for lists they are the same:
instance Semigroup [a] where
(<>) = (++)
Is there any pro/con to use one over the other? Typically I prefer <> since this means I can switch between types String and Text more easily. Any other pros/cons?