[phobos] Removing std.stdio.File.popen()

Lars Tandle Kyllingstad lars at kyllingen.net
Mon Aug 16 06:20:51 PDT 2010


On Mon, 2010-08-16 at 09:04 -0400, Adam Ruppe wrote:
> I actually use it (which is why I duplicated your bug), but am OK with
> removing it, since it is easy enough to get at anyway. For a while, I
> did a separate extern(C) for pclose anyway!
> 
> However, I don't think something being POSIX only is a good reason to
> remove something. D should take advantages of whatever platform it is
> on. Portability is good when you can have it, but it shouldn't be a
> function killer alone.

Two comments:

1. I disagree with you. :)  I think that Phobos' user-visible interface
should be completely platform agnostic.  Code that depends only on
Phobos should compile and run on any platform.

2. Steve and I have been working on a new version of std.process, which
will at some point, hopefully, obviate the need for popen().  See
pipeProcess() here:

  http://www.kyllingen.net/code/ltk/doc/process.html

The POSIX implementation is more or less complete, but its inclusion in
Phobos is currently being blocked by bug 3979.  Also, Steve has run into
some very tricky issues with pipes on Windows, fundamentally caused by
D's dependence on the DMC runtime.  I don't know how (or if) that is
working out.

-Lars



More information about the phobos mailing list