<div dir="ltr"><div>Hello Simon,</div><div><br></div>If you changed your perspective, you would realize that all functions in haskell are pure.<div>A function is pure if it returns the same output if given the same input. Every monadic function (including functions returning IO) is also pure.</div><div>For example,</div><div><br></div><div><font face="monospace, monospace">    putStrLn :: String -> IO ()</font></div><div><font face="monospace, monospace">    -- A function that takes a string, and returns an impure computation</font></div><div><font face="monospace, monospace">    -- which, when executed will print the given String.</font></div><div><font face="monospace, monospace"><br></font></div>For any string, putStrLn applied to that same string always describes the same impure computation, thus the function is actually pure.<div>I am not familiar with any other functional language, but there are not many purely functional ones out there [1].</div><div>I guess the impure ones get around this issue by giving in to impurity, but I'm not sure.</div><div><br></div><div>I'll be interested in hearing more about the other languages too.</div><div><br></div><div>[1] : <a href="http://en.wikipedia.org/wiki/List_of_programming_languages_by_type#Pure" target="_blank">http://en.wikipedia.org/wiki/List_of_programming_languages_by_type#Pure</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 15 March 2015 at 22:25, Marcin Mrotek <span dir="ltr"><<a href="mailto:marcin.jan.mrotek@gmail.com" target="_blank">marcin.jan.mrotek@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
F* uses a somewhat similar approach: <a href="https://fstar-lang.org/tutorial/" target="_blank">https://fstar-lang.org/tutorial/</a><br>
(section 2, Types and Effects)<br>
<br>
Best regards,<br>
Marcin Mrotek<br>
<div class="HOEnZb"><div class="h5">_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div>Regards</div><div dir="ltr"><div><br></div><div>Sumit Sahrawat</div></div></div></div></div></div></div>
</div>