[Haskell] ANNOUNCE: HsUnix 1.0.1 - Haskell for Unix Shell Scripting

Volker Wysk post at volker-wysk.de
Tue Feb 10 13:15:41 EST 2004

On Mon, 9 Feb 2004, Andrew Pimlott wrote:
> > However, when using pipes, the exitcode of only one of the involved
> > processes can be monitored.
> Let me give my frank opinion that, even though it's how shell
> scripts have always worked, this should be considered broken.

Well, HsUnix is somewhat better, since one process can be monitored.

> It is
> rather a pain to fix, as you can't implement it in the usual
> straightforward way.  You have to fork all subprocesses from the
> main process, and do extra work to share the pipes.  If you don't
> want to use filehandles extravagantly, you have to do additional
> work.  I essentially wrote a mini-OS layer that wraps all fork,
> pipe, and open calls, and tries (in a fairly dumb but usually
> effective way) to allocate filehandles efficiently.  I can share if
> you'd like.  (I found this exercise gave great insight into the
> "worse is better" philosophy.)

I wonder if this could be incorporated in hsunix. I'd like to take a look
at your implementation.

> If you don't change this behavior, at least document it prominently
> as a robustness sink!  :-)

I've added it to the documentation.


More information about the Haskell mailing list