<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Mar 10, 2014 at 2:30 PM, Johan Tibell <span dir="ltr"><<a href="mailto:johan.tibell@gmail.com" target="_blank">johan.tibell@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>I've written a cross-platform* implementation of the pipe() syscall, currently for use within Cabal:<br>
</div><div><br></div><div>createPipe :: IO (Handle, Handle)<br></div><a href="https://github.com/haskell/cabal/blob/master/Cabal/tests/Distribution/Compat/CreatePipe.hsc" target="_blank">https://github.com/haskell/cabal/blob/master/Cabal/tests/Distribution/Compat/CreatePipe.hsc</a><div>
<br></div><div>It's a bit of a shame to leave it in Cabal as it's generally useful.</div><div><div><br></div><div>I propose we add it to System.IO. Note that we'd have to copy the 5 lines in System.Posix.IO.createPipe into base as the above implementation would otherwise depend on the unix package.</div>
<div><br></div><div>Discussion period: 3 weeks.</div><div><br></div><div>* Only tested on OS X, Windows, and Linux.</div><div><br></div></div></div>
</blockquote></div><br></div><div class="gmail_extra">+1. I've needed this in the past when working with process, and ended up writing POSIX-only code as a result.</div></div>