[Haskell-cafe] Decision procedure for foldr/foldl/foldl'?

David Fox ddssff at gmail.com
Tue Nov 22 15:10:06 CET 2011


On Tue, Nov 22, 2011 at 5:04 AM, Jerzy Karczmarczuk
<jerzy.karczmarczuk at unicaen.fr> wrote:
> David Fox reacts to my criticism of his attitude towards "the meaning of
> folds":
>>
>> I'm not trying to avoid learning the differences between the different
>> folds, but I am looking for a mnemonic device that will allow me to
>> proceed more quickly towards my goal.  My ultimate goal is to write
>> software, not to understand folds.   Just as it is inappropriate for a
>> young officer to even contemplate an overall strategy for winning the
>> war, it would be inappropriate for a general to spend more time than
>> necessary on the minute details of military tactics, as vital as they
>> are.
>
> David, cynism or not, you might have found in my post some concrete remarks,
> about incrementality, about tail-recursion... Not a single comment of your
> part. No comment addressed to other people who tried also to help you
> (whether we really help you in such a way is subject to discussion...)
>
> I am sorry, but saying that your goal is to write software is not even
> funny. The relatively modern science of programming evolves for the last 60
> years, and the progress in writing software NEVER came out of kitchen
> recipes, on the contrary ! The laziness is not a "trick to avoid
> computation", but a methodology of ordering the operations, and if you are
> unable to order them in your head, you won't be able to exploit this or that
> "design pattern".
> OK, you gather some patterns, and you apply them. Once. And then, you will
> be helpless, when the need for refactoring arrives. You will never be able
> to teach those patterns to your younger colleagues. And finally, your last
> remarks might be less relevant than you wish. A general gets his stars
> usually after several years of demonstrating that he UNDERSTANDS the minute
> details of military tactics, so he can consciously choose those who will
> implement them.

I think the other replies in this thread speak for themselves - i
found them very helpful.



More information about the Haskell-Cafe mailing list