
My prosaic solution would be to have more stock implementations of mconcat
(here balancedMconcat, though some parallelMconcat's would also be fun) that
make use of the associativity guarantee. Then use that explicitly:--
balancedMconcat . fmap Sum $ [a, b, c, 2, 3, d]
rather than asking the compiler to be magic for you.
Freddie
On 14 September 2010 13:11, Bas van Dijk
Oops, I mixed up associative with commutative.
On Tue, Sep 14, 2010 at 1:27 PM, Bas van Dijk
wrote: On Mon, Sep 13, 2010 at 4:23 PM, Nick Bowler
wrote: ... not all Num instances have an associative (+).
Indeed:
$ cabal install repr # [1] ... $ ghci Prelude> :m Text.Repr Prelude Text.Repr> show (1 + 2 :: Repr Int) == show (2 + 1 :: Repr Int) False
because: show (1 + 2 :: Repr Int) == "1 + 2" show (2 + 1 :: Repr Int) == "2 + 1"
but note: Prelude Text.Repr> (1 + 2 :: Repr Int) == (2 + 1 :: Repr Int) True
Bas
_______________________________________________ Haskell-prime mailing list Haskell-prime@haskell.org http://www.haskell.org/mailman/listinfo/haskell-prime