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="'courier new', monospace">module Main where</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace">import Data.Enumerator</font></div><div><font class="Apple-style-span" face="'courier new', monospace">import <a href="http://Data.Enumerator.IO">Data.Enumerator.IO</a></font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"><br></font></div><div><font class="Apple-style-span" face="'courier new', monospace">main = run (enumFile "foo" $$ iterFile "bar")</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="'courier new', monospace">runhaskell</font> I get the following error:</div><div>
<font class="Apple-style-span" face="'courier new', monospace">Left bar: hPutBuf: illegal operation (handle is closed)</font></div><div><font class="Apple-style-span" face="'courier new', 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="'courier new', monospace">module Main where</font></div><div style="font-family: arial; "><font class="Apple-style-span" face="'courier new', monospace">import Data.Enumerator</font></div>
<div style="font-family: arial; "><font class="Apple-style-span" face="'courier new', 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="'courier new', monospace">import System.IO</font></div>
<div style="font-family: arial; "><font class="Apple-style-span" face="'courier new', monospace"><br></font></div><div style="font-family: arial; "><font class="Apple-style-span" face="'courier new', monospace">main = withBinaryFile "bar" WriteMode $ \h -></font></div>
<div style="font-family: arial; "><font class="Apple-style-span" face="'courier new', monospace"> run (enumFile "foo" $$ iterHandle h)</font></div><div style="font-family: arial; "><font class="Apple-style-span" face="'courier new', 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="'courier new', monospace">iterFile</font> function) or a deficiency of the interpreter?</div>
</font></div>