
My messages this morning have decoupled the discussion from Traversable, by
specialising to one container type for which left-to-right is predefined.
In my mind, that gets to the heart of what Charles was after, namely the
"calling in an associative manner" thing, which is independent of the
question "how do we know right from left in the first place". Do the
considerations then make sense to you as well?
2015-10-25 10:09 GMT+01:00 Matteo Acerbi
Janis Voigtländer writes:
One answer I could give is: That depends on the definition of the Traversable instance for the (Bool -> a) type constructor.
Another answer I could give is: Ask the authors of the Traversable documentation. [..]
Since Charles had not mentioned Traversable in his messages, I still find the original question 2 to be ambiguous.
If one has a Traversable instance, then he can say what being left fold-like means for a function. As far as I understand, however, this should be equivalent to the property of being extensionally equal to the foldl1 of the Foldable superclass, provided instances follow the laws.
Please, again, correct me if I am wrong.
I want to remark that mine is not criticism towards Charles's message: on the contrary, I think that starting a discussion on not completely specified ideas can be very beneficial for everyone, as several people at once will make some effort to get a clearer understanding, sharing their points of view.
Thanks for taking the time to explain your interpretation.
Best, Matteo