[Haskell-cafe] Functions with side-effects?

Wolfgang Jeltsch 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.

> [...]

Best wishes,
Wolfgang


More information about the Haskell-Cafe mailing list