On Fri, Dec 30, 2011 at 9:30 AM, Colin Adams <colinpauladams@gmail.com> wrote:


On 30 December 2011 17:27, Conal Elliott <conal@conal.net> wrote:
On Fri, Dec 30, 2011 at 9:20 AM, Colin Adams <colinpauladams@gmail.com> wrote:

proof: f is a function, and it is taking the same argument each time. Therefore the result is the same each time.

Careful of circular reasoning here. Is f actually a "function" in the mathematical sense? It's that math sense that you need to reach your conclusion.

Yes. Because Haskell is a functional programming language.

And how do you know that claim to be true?

And do you mean a *purely* functional language? Otherwise f might be in the impure part. If you do mean *purely* functional, aren't you arguing for purity by assuming purity?

Moreover, do you have a precise definition for "functional"? I've witnessed a lot of these arguments and have seen a diversity of interpretations. Which is why I recommend shifting away from such fuzzy terms and following Peter Landin's recommended more precise & substantive replacement, namely "denotative". (See http://conal.net/blog/posts/is-haskell-a-purely-functional-language/#comment-35882 for a quote and reference.)

  - Conal