Sure, but it doesn&#39;t mean that because someone uses an imperative way of counting, that it means people&#39;s brains work imperatively all the way.<div><br></div><div><div>People tend to talk and communicate a lot in a declarative way no? For example ask someone that doesn&#39;t know programming how he we would make a paddleball game. I have no idea what that person would say, but I think it would something like: &quot;I tell the computer that the paddle should move along with the mouse; and when the ball bounces against the paddle, the ball reverses direction; if the paddle misses the ball, it&#39;s game over&quot;. I don&#39;t think anybody would say: &quot;each frame, the ball&#39;s position moves by a tiny timestep; when the mouse is sampled, copy the mouse position to the paddle; etc...&quot;</div>
<div><br></div><div><div><div><div><div><div class="gmail_quote">On Wed, Sep 30, 2009 at 4:43 PM, Andrew Coppin <span dir="ltr">&lt;<a href="mailto:andrewcoppin@btinternet.com">andrewcoppin@btinternet.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">Peter Verswyvelen wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I really doubt people tend to think in either way. It&#39;s not even sure our thinking can be modeled with computing no?<br>
</blockquote>
<br></div>
Well, try this: Go ask a random person how you add up a list of numbers. Most of them will say something about adding the first two together, adding the third to that total, and so forth. In other words, the step by step instructions. Very few of them will answer that the sum of an empty list is defined to be zero, and the sum of a non-empty list is defined to be the first number plus the sum of the list tail.<br>

<br>
Then again, few non-programmers will set anything about creating a counter variable and initialising it to zero either; this is a programming &quot;artifact&quot;. (Humans don&#39;t think like this internally, but most programming languages conceptually require it.) Nobody has much difficulty with this, so maybe the only problem with Haskell is that everybody learns to program &quot;the other way&quot; first, before they get to Haskell...<div>
<div></div><div class="h5"><br>
<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br></div></div></div></div></div></div>