On 11/6/25 1:57 AM, Peter Pentchev wrote:
If you look at
     https://docs.raku.org/type/Proc/Async
There is a ton of them missing.
The documentation of `Proc` declares everything that `Proc` does.
The documentation of `Proc::Async` declares everything that `Proc::Async` does.
Those are two different things.


Not to beat a dead horse, but the horse is
already dead and does not care.

They are very, very closely related.  One
relies on the other. The code for it
is absolutely elegant.

Proc calls Pro::Async, Pro::Async waits for
the program called to terminate, then Proc
picks out what it wants from Pro::Async.

And Pro::Async is part of Proc's class
structure: see line 13 below.

Lines 3 through 20 of Proc.rakumod:

3 my class Proc {
    has IO::Pipe $.in;
    has IO::Pipe $.out;
    has IO::Pipe $.err;
    has Str $.os-error;
    has $.exitcode is default(Nil);
    has $.signal;
    has $.pid is default(Nil);
    has @.command;

13    has Proc::Async $!proc;
    has Bool $!w;
    has @!pre-spawn;
    has @!post-spawn;
    has $!active-handles = 0;
    has &!start-stdout;
    has &!start-stderr;
20    has $!finished;


Reply via email to