I wrote that post to point out the fuzziness that fuels many discussion threads like this one. See also <a href="http://conal.net/blog/posts/notions-of-purity-in-haskell/">http://conal.net/blog/posts/notions-of-purity-in-haskell/</a> and the comments.<br>
<br>I almost never find value in discussion about whether language X is "functional", "pure", or even "referentially transparent", mainly because those terms are used so imprecisely. In the notions-of-purity post, I suggest another framing, as whether or not a language and/or collection of data types is/are "denotative", to use Peter Landin's recommended replacement for "functional", "declarative", etc. I included some quotes and a link in that post. so people can track down what "denotative" means. In my understanding, Haskell-with-IO is not denotative, simply because we do not have a (precise/mathematical) model for IO. And this lack is by design, as explained in the "toxic avenger" remarks in a comment on that post.<br>
<br>I often hear explanations of what IO means (world-passing etc), but I don't hear any consistent with Haskell's actual IO, which includes nondeterministic concurrency. Perhaps the difficulties could be addressed, but I doubt it, and I haven't seen claims pursued far enough to find out.<br>
<br> - Conal<br><br><div class="gmail_quote">On Thu, Dec 29, 2011 at 4:42 PM, Steve Horne <span dir="ltr"><<a href="mailto:sh006d3592@blueyonder.co.uk">sh006d3592@blueyonder.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"><div><div class="h5">
On 30/12/2011 00:16, Sebastien Zany wrote:
<blockquote type="cite">Steve Horne wrote:<br>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"><span>I haven't
seen this view explicitly articulated anywhere before</span></div>
</blockquote>
<div><br>
</div>
<div>See Conal Elliott's blog post <a href="http://conal.net/blog/posts/the-c-language-is-purely-functional" target="_blank">The
C language is purely functional</a>.</div>
</div>
</blockquote></div></div>
Thanks - yes, that's basically the same point. More concise - so
clearer, but not going into all the same issues - but still the same
theme.<br>
<br>
</div>
<br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">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>
<br></blockquote></div><br>