[m-users.] Capturing process output.

Volker Wysk post at volker-wysk.de
Sun Sep 1 03:33:44 AEST 2024


Am Samstag, dem 31.08.2024 um 18:10 +0100 schrieb emacstheviking:
> My use case right now is calling an OS command from my FORTH dialect, but
> a while back I wrote some code that binds to libCurl and chucks the
> response back into a string, I will probably use that code as well as I
> have some words to implement; GET PUT POST DELETE OPTIONS.
> 
> I like your idea for a predicate as proposed but it might be YAGNI across
> a wider audience i.e. if it was that much of an in-demand feature I
> suspect it would already be available. Maybe! :D

Maybe you're right. Anyhow, there should be a possibility to attach a stream
to an existing file descriptor. So something like this can be implemented.
It restricts what can be done with streams, when this isn't provided.

Volker

> 
> 
> 
> On Sat, 31 Aug 2024 at 17:48, Volker Wysk <post at volker-wysk.de> wrote:
> > Hi there
> > 
> > Actually, I've been toying with the idea of writing something like this:
> > 
> > :- pred run_program(
> >     string::in,                           % Path to executable
> >     bool::in,                             % Connect stdin?
> >     bool::in,                             % Connect stdout?
> >     bool::in,                             % Connect stderr?
> >     maybe(io.text_output_stream)::out,    % Handle to program's stdin
> >     maybe(io.text_input_stream)::out,     % Handle to program's stdout
> >     maybe(io.text_input_stream)::out,     % Handle to program's stderr
> >     int::out                              % Child process's process id
> > ) is det.
> > 
> > For this to work, a predicate for attaching a stream to an existing file
> > descriptor would be needed. It doesn't look like this is provided by the
> > io/io.call_system libraries.
> > 
> > I would be inclined to contribute this to the standard libraries, if
> > that is
> > welcome. I know that a high code quality would be required.
> > 
> > Cheers
> > Volker
> > 
> > 
> > Am Samstag, dem 31.08.2024 um 16:35 +0200 schrieb Zoltan Somogyi:
> > > 
> > > 
> > > On Sat, 31 Aug 2024 15:30:30 +0100, emacstheviking <objitsu at gmail.com>
> > > wrote:
> > > > I have been reading io.system_call and cannot see how to capture the
> > > > output
> > > > into a string... was this ever possible?
> > > 
> > > Assuming you are talking about io.call_system, the answer is "no".
> > > 
> > > > Do I have pipe to a file myself then, then read and process the
> > contents
> > > > thus generated?
> > > 
> > > Yes.
> > > 
> > > Zoltan.
> > 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurylang.org/archives/users/attachments/20240831/fc8cd96a/attachment.html>


More information about the users mailing list