[Haskell-cafe] adding the elements of two lists
jerzy.karczmarczuk at unicaen.fr
Mon Mar 26 18:18:41 CEST 2012
Le 26/03/2012 16:31, Chris Smith a écrit :
> If you were
> asking about why there is no ring on [a] that defines (+) = zipWith
> (+), then here's why. By that definition, you have [1,2,3] + [4,5] =
> [5,7]. But also [1,2,42] + [4,5] = [5,7]. Addition by [4,5] is not
> one-to-one, so [4,5] cannot be invertible.
So, * the addition* is not invertible, why did you introduce rings to
this discussion, if the additive group within is already lousy?...
OK I see now. You are only interested in the explicitly ambiguous usage
of the element-wise addition which terminates at the shortest term...
But I don't care about using (+) = zipWith (+) "anywhere", outside of a
programming model / framework, where you keep the sanity of your data.
In my programs I KNEW that the length of the list is either fixed, or of
some minimal size (or infinite). Your [4,5] simply does not belong to MY
rings, if I decided to keep the other one.
More information about the Haskell-Cafe