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

Jerzy Karczmarczuk jerzy.karczmarczuk at unicaen.fr
Tue Nov 22 14:04:28 CET 2011


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.

Jerzy Karczmarczuk






More information about the Haskell-Cafe mailing list