On Thu, Feb 5, 2009 at 3:21 PM, David Leimbach <leimy2k@gmail.com> wrote:

Well all I can tell you is that I can have (IO Int) in a function as a return, and the function is not idempotent in terms of the "stuff" inside IO being the same.

Sounds impure to me.

Right, thus IO is impure. but as long as the function that returns the IO Int returns the same IO Int every time you provide the same input, it's pure.