The short answer is no. The longer answer depends on what you mean by &quot;get out&quot;. You can take the result of an IO action and pass it to a pure function like so:<br><br>do<br>    result &lt;- someIOAction<br>    return $ somePureFunction result<br>
<br>or alternately:<br><br>   someIOAction &gt;&gt;= return . somePureFunction<br><br>If you want to know if you can do something like:<br><br>someFunction :: Int -&gt; Int<br>someFunction n = escapeIO $ someIOAction n<br>
<br>then the answer is you shouldn&#39;t. It is technically possible, by using a function that every experienced haskell developer will tell you to never ever ever ever ever ever ever ever (get the picture) use, which is unsafePerformIO, but if you use unsafePerformIO it&#39;s likely that your code won&#39;t do what you actually expect it to do, even if the type signatures all check correctly. The IO Monad serves a very important purpose and implies certain things about a computation, likewise the absence of the IO Monad implies certain guarantees, and when you break those guarantees bad things happen.<br>
<br clear="all">-R. Kyle Murphy<br>--<br>Curiosity was framed, Ignorance killed the cat.<br>
<br><br><div class="gmail_quote">On Thu, Jun 23, 2011 at 11:23, Raphael Päbst <span dir="ltr">&lt;<a href="mailto:raphael.paebst@googlemail.com">raphael.paebst@googlemail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hey everyone!<br>
This is probably a stupid question, but is there a way to get stuff<br>
out of a IO handle?<br>
If I do something with an IO handle, reading in data from a file for<br>
example and then do something with the data, is there a way to get the<br>
results out of the handle, comparable to the return in a do block?<br>
Or do all operations on the data have to happen inside the handle?<br>
Thanks<br>
<br>
Raf<br>
<br>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/beginners" target="_blank">http://www.haskell.org/mailman/listinfo/beginners</a><br>
</blockquote></div><br>