
In homage to the ironic phrase "It's technically true, which is the best
kind of true," perhaps we need a superclass TechnicallyFoldable. :D Then
(,) a could be an instance of TechnicallyFoldable but not Foldable ,
tlength could be defined as tlength = length for (Foldable a =>
TechnicallyFoldable a), and anybody who really wants the maximally general
option could always use tlength.
The parallel with fmap speaks for itself. :)
Den tis 24 nov. 2020 11:56Manuel Schneckenreither
>>>>> "TE" == Tom Ellis
writes: TE> On Mon, Nov 23, 2020 at 09:54:26PM +0100, Francesco Ariis wrote:
TE> Which of the following would they give up?
TE> A. Foldable as superclass of Traversable
TE> B. (a,) as Traversable
For me it is B. Even the Foldable hackage description states "Functors representing data structures that can be traversed from left to right." The tuple is however not traversed from left to right, but solely on the right (as it's half filled).
For me it doesn't make sense to implement it, just because it's implementable. I think the current implementation does not add more value than it harms.
El lun., 23 nov. 2020 22:23, Tom Ellis < tom-lists-haskell-cafe-2017@jaguarpaw.co.uk> escribió:
On Mon, Nov 23, 2020 at 09:54:26PM +0100, Francesco Ariis wrote:
Il 23 novembre 2020 alle 14:40 Zemyla ha scritto:
So what should maximum (2, "potato") be?
For people who did not agree with `instance Foldable (,) a`, a type error!
Which of the following would they give up?
A. Foldable as superclass of Traversable
B. (a,) as Traversable
Personally I think in retrospect I think I'd give up both and use explicit Traversals (i.e. optics instead). That way one would have to write
allOf each (\ i -> contents p i == contents q i) ...
By contrast
allOf _2 (\ i -> contents p i == contents q i) ...
obviously looks wrong.
Tom _______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.