<div dir="ltr"><div>Yes absolutely ! you're referring to laziness right ?</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">Le mar. 10 juil. 2018 à 14:20, Theodore Lief Gannon <<a href="mailto:tanuki@gmail.com">tanuki@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">An intuition that really clicked for me is that in Haskell IO code, as in all Haskell code, you are describing a pristine and perfectly inert data structure. It happens to *represent* a set of imperative instructions that the totally impure runtime environment can execute, but that's not your problem!</div><br><div class="gmail_quote"><div dir="ltr">On Tue, Jul 10, 2018, 4:55 AM Olivier Revollat <<a href="mailto:revollat@gmail.com" target="_blank">revollat@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thanks ! <br></div><br><div class="gmail_quote"><div dir="ltr">Le mar. 10 juil. 2018 à 13:14, PY <<a href="mailto:aquagnu@gmail.com" rel="noreferrer" target="_blank">aquagnu@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<p>May be something like this?</p>
<p><b>Free monads</b> ("applicative" style/interpreting trees) and
Effects:</p>
<a class="m_-7758219068530445940m_699401305901810554m_1124748471038346571moz-txt-link-freetext" href="https://markkarpov.com/post/free-monad-considered-harmful.html" rel="noreferrer" target="_blank">https://markkarpov.com/post/free-monad-considered-harmful.html</a><br>
<a class="m_-7758219068530445940m_699401305901810554m_1124748471038346571moz-txt-link-freetext" href="https://mmhaskell.com/blog/2017/11/20/eff-to-the-rescue" rel="noreferrer" target="_blank">https://mmhaskell.com/blog/2017/11/20/eff-to-the-rescue</a><br>
<br>
<b>Arrows</b> (something like "flow"-style):<br>
<a class="m_-7758219068530445940m_699401305901810554m_1124748471038346571moz-txt-link-freetext" href="https://www.haskell.org/arrows/" rel="noreferrer" target="_blank">https://www.haskell.org/arrows/</a><br>
<a class="m_-7758219068530445940m_699401305901810554m_1124748471038346571moz-txt-link-freetext" href="http://tuttlem.github.io/2014/07/26/practical-arrow-usage.html" rel="noreferrer" target="_blank">http://tuttlem.github.io/2014/07/26/practical-arrow-usage.html</a><br>
<br>
<br>
<div class="m_-7758219068530445940m_699401305901810554m_1124748471038346571moz-cite-prefix">10.07.2018 12:22, Olivier Revollat
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi, <br>
I've been using imperative languages for 20 years now :)<br>
<br>
I'm a beginner in haskell and I love the paradigm shift you feel
when you come from imperative programming. I found interesting
articles like :<br>
<a href="https://wiki.haskell.org/Haskell_IO_for_Imperative_Programmers" rel="noreferrer" target="_blank">https://wiki.haskell.org/Haskell_IO_for_Imperative_Programmers</a><br>
<br>
Do you have any other ressources like that ?<br>
I'm not looking for how to use haskell in imperative style (e.g.
with "do" notation, ...) no no ! I'm looking articles who
explain how NOT TO USE imperative style with haskell, and help
thinking the paradigm shift ...<br>
<br>
Thanks :)<br>
<div><br>
</div>
</div>
<br>
<fieldset class="m_-7758219068530445940m_699401305901810554m_1124748471038346571mimeAttachmentHeader"></fieldset>
<br>
<pre>_______________________________________________
Beginners mailing list
<a class="m_-7758219068530445940m_699401305901810554m_1124748471038346571moz-txt-link-abbreviated" href="mailto:Beginners@haskell.org" rel="noreferrer" target="_blank">Beginners@haskell.org</a>
<a class="m_-7758219068530445940m_699401305901810554m_1124748471038346571moz-txt-link-freetext" href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a>
</pre>
</blockquote>
<br>
</div>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org" rel="noreferrer" target="_blank">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" rel="noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
</blockquote></div>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org" rel="noreferrer" target="_blank">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" rel="noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
</blockquote></div>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org" target="_blank">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
</blockquote></div>