[Haskell-cafe] Functions with side-effects?
wolfgang at jeltsch.net
Wed Dec 21 10:20:56 EST 2005
Am Mittwoch, 21. Dezember 2005 13:15 schrieb Creighton Hogg:
> Monads, I believe, can be just thought of as containers for state.
I would say that you are talking especially about the I/O monad here. A monad
as such is a rather general concept like a group is in algebra.
The important point of the integration of imperative programming in Haskell is
not that it's done using monads. The point is that you have a specific type
(IO) whose values are descriptions of I/O actions, and some primitive
operations on IO values. The IO type together with two of these primitive
operations forms a monad but this is secondary in my opinion.
More information about the Haskell-Cafe