
Thanks; I guess my 'problem' is that I naturally gravitate to a function that returns *the result of the interaction* rather than IO, but that seems impossible anywhere IO is used.
So looking at the 'real' interact function, I guess the Haskell way is to pass in my function that acts on the data that was read. I guess that makes sense as then I can separate all my 'action' code from IO code. Is that a reasonable understanding?
Sorry if this was so obvious; is this kind of pattern documented in greater detail somewhere? I haven't noticed anything yet, but maybe I've been hoogling the wrong names.
--kov
________________________________________
From: Ozgur Akgun [ozgurakgun@gmail.com]
Sent: Saturday, May 08, 2010 12:09 PM
To: Ken Overton
Cc: beginners@haskell.org
Subject: Re: [Haskell-beginners] A basic misunderstanding of how to program with IO
I might have misunderstood you, but what about using the existing interact function: http://haskell.org/ghc/docs/6.12.1/html/libraries/base-4.2.0.0/Prelude.html#...
And for your interact, since it is not in the IO monad, you cannot write such a function. [ don't tell him about the unsafePerformIO :) ]
I am sure you'll get better answers.
Best,
On 8 May 2010 16:55, Ken Overton