(j3.2006) 17-152 and CO_REDUCE

Van Snyder Van.Snyder
Wed May 17 22:06:33 EDT 2017

Imposing "exactly two arguments" on the OPERATION argument to CO_REDUCE
requires one to write a wrapper to use a function that has more than two
arguments, with those after the first two being optional.

I would prefer "OPERATION shall be a pure function with at least two
arguments; the result and each of the first two arguments shall be
scalar, nonallocatable, nonpointer, nonpolymorphic data objects with the
same type and type parameters as A.  The first two arguments shall not
be optional and any additional arguments shall be optional."

I also don't understand why the first two arguments can't be optional.

Are polymorphic dummy arguments really a problem?  If not, remove the
prohibition against polymorphic, and replace "type" with "declared

If the processor is expected to enforce the requirements on OPERATION,
it should be required to have explicit interface.

More information about the J3 mailing list