IO
Monada w Haskell jest często tłumaczyć jako monady stan, w którym państwo jest świat. Zatem wartość typu IO a
monada jest postrzegana jako coś w rodzaju worldState -> (a, worldState)
.
Jakiś czas temu przeczytałem artykuł (lub wpis na blogu / liście mailowej), który skrytykował ten pogląd i podał kilka powodów, dla których jest on nieprawidłowy. Ale nie pamiętam ani artykułu, ani powodów. Ktoś wie
Edycja: Artykuł wydaje się zagubiony, zacznijmy więc gromadzić tutaj różne argumenty. Zaczynam nagrodę, aby uczynić rzeczy bardziej interesującymi.
Edycja: Artykuł, którego szukałem, dotyczy walki z niezręczną drużyną: monadyczne wejście / wyjście, współbieżność, wyjątki i rozmowy w języku obcym w Haskell przez Simona Peytona Jonesa. (Dzięki odpowiedzi TacTics.)