On Thu, Sep 23, 2010 at 1:57 PM, Andrew Coppin <[email protected]> wrote:
> If you think that sounds silly, ask some random person (not a computer > programmer, just some random human) how find the sum of a list of numbers. I > can practically guarantee that most humans will reply "do X, then do Y, and > then do Z". Almost nobody will reply with "the sum of an empty list is > defined as zero, and the sum of a non-empty list is defined as the addition > of the first element and the sum of the remaining elements". To a normal > human, that almost sounds like a riddle rather than an explanation. I don't think it's unusual for a "random person" to give a recursive answer. It's just that a "normal human" tends to avoid anything that isn't tail recursion. For example, I can easily imagine someone saying "to sum a list, add the current element to the running total, and now carry on summing from the next element". I doubt most people would consider that to be a riddle. The problem is that humans don't have deep stacks, so they find it harder to talk in terms of methods that require deep stacks. -- Dan _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
