I like the idea of making y a boxed vector. Perhaps a format like (nthreads0;options0);(nthreads1;options1);<nthreads2;options2. Optionally leave off any of the nthreads and instead double-box options in order to create just one thread. Leave off the options to use the default options for this batch of threads. And if you only need one batch of threads, leave off the outermost layer of boxing entirely.

I am much less sure of making x a vector. As T. is a trenchcoat function, I don't think it makes much sense. (o. is an exception, but that is arithmetic and rank 0, so it's a bit of a special case.) What were you thinking vector x would mean?

We do not need a super low-level interface here, either.

IMO, needing to manually create threads at all is somewhat low level.

 -E

On Fri, 29 Apr 2022, Raul Miller wrote:

On Thu, Apr 28, 2022 at 10:28 PM Henry Rich <[email protected]> wrote:
I was enthusiastic about this proposal when I first saw it, but on
reflection, I have misgivings.  The y argument to (0 T. y) is reserved
for thread parameters; with the proposal, how will thread parameters be set?

y could be a vector, if you need that.

For that matter, x could be a vector.

For that matter, x and/or y could be a boxed vector. This is
initialization, so you're not going to be doing any of this in a tight
loop. We do not need a super low-level interface here, either.

For that matter, this could have been a mini-language (along the lines of wd).

--
Raul
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to