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!

On Tue, Jul 10, 2018, 4:55 AM Olivier Revollat <revollat@gmail.com> wrote:
Thanks !

Le mar. 10 juil. 2018 à 13:14, PY <aquagnu@gmail.com> a écrit :

May be something like this?

Free monads ("applicative" style/interpreting trees) and Effects:

https://markkarpov.com/post/free-monad-considered-harmful.html
https://mmhaskell.com/blog/2017/11/20/eff-to-the-rescue

Arrows (something like "flow"-style):
https://www.haskell.org/arrows/
http://tuttlem.github.io/2014/07/26/practical-arrow-usage.html


10.07.2018 12:22, Olivier Revollat wrote:
Hi,
I've been using imperative languages for 20 years now :)

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 :
https://wiki.haskell.org/Haskell_IO_for_Imperative_Programmers

Do you have any other ressources like that ?
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 ...

Thanks :)



_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners

_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners