Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, Programming Guide

REDUCIBLE Functions

REDUCIBLE indicates that a procedure or entry need not be invoked multiple times if the argument(s) stays unchanged, and that the invocation of the procedure has no side effects.

For example, a user-written function that computes a result based on unchanging data should be declared REDUCIBLE. A function that computes a result based on changing data, such as a random number or time of day, should be declared IRREDUCIBLE.

In the following example, f is invoked only once since REDUCIBLE is part of the declaration. If IRREDUCIBLE had been used in the declaration, f would be invoked twice.

dcl (f) entry options( reducible ) returns( fixed bin );

select;
  when( f(x) < 0 )
   .
   .
   .
  when( f(x) > 0 )
   .
   .
   .
  otherwise
   .
   .
   .
end;

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)