Hi all,<div>I was trying out the enumerator package. I wanted to copy the contents of one file to another:</div><div><br></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">module Main where</font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">import Data.Enumerator</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">import <a href="http://Data.Enumerator.IO">Data.Enumerator.IO</a></font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">main = run (enumFile &quot;foo&quot; $$ iterFile &quot;bar&quot;)</font></div>
<div><br></div><div>If I compile this code with GHC, it works as expected. But if I run it with <font class="Apple-style-span" face="&#39;courier new&#39;, monospace">runhaskell</font> I get the following error:</div><div>
<font class="Apple-style-span" face="&#39;courier new&#39;, monospace">Left bar: hPutBuf: illegal operation (handle is closed)</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div>
<div><font class="Apple-style-span" face="arial, helvetica, sans-serif">If I replace the above code with this:</font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><br></font></div><div><font class="Apple-style-span" face="arial, helvetica, sans-serif"><div style="font-family: arial; ">
<font class="Apple-style-span" face="&#39;courier new&#39;, monospace">module Main where</font></div><div style="font-family: arial; "><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">import Data.Enumerator</font></div>
<div style="font-family: arial; "><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">import <a href="http://Data.Enumerator.IO">Data.Enumerator.IO</a></font></div><div style="font-family: arial; "><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">import System.IO</font></div>
<div style="font-family: arial; "><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div style="font-family: arial; "><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">main = withBinaryFile &quot;bar&quot; WriteMode $ \h -&gt;</font></div>
<div style="font-family: arial; "><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">    run (enumFile &quot;foo&quot; $$ iterHandle h)</font></div><div style="font-family: arial; "><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br>
</font></div><div>It works both compiled and interpreted.</div><div><br></div><div>Is this a bug in enumerator (probably in the <font class="Apple-style-span" face="&#39;courier new&#39;, monospace">iterFile</font> function) or a deficiency of the interpreter?</div>
</font></div>