.so tmac.ilib .TH PDAE 2 "The University of Arizona \- 8/16/84" .SH NAME pdae \- programmer-defined argument evaluation .SH DESCRIPTION These procedures are taken mainly from TR 82-16, which describes how co-expressions can be used to model the built-in argument evaluation regime of Icon and also provide new ones. Some procedures have been corrected or improved. .SH SYNOPSIS .nf .ta 2.0i \*MAllpar\^{e1,\*be2,\*b \*(El}\fR parallel evaluation with last result used for short sequences \*MCall(a)\fR utility procedure to call functions \*MExtract\^{e1,\*be2, \*(El}\fR extract results of even-numbered arguments according to odd-numbered values \*MLifo\^{e1,\*be2, \*(El}\fR models standard Icon `lifo' evaluation \*MParallel\^{e1,\*be2, \*(El}\fR parallel evaluation terminating on shortest sequence \*MReverse\^{e1,\*be2, \*(El}\fR left-to-right reversal of lifo evaluation \*MRotate\^{e1,\*be2, \*(El}\fR parallel evaluation with shorter sequences re-evaluated \*MSimple\^{e1,\*be2, \*(El}\fR simple evaluation with only success or failure .SH REQUIREMENTS \fIPdae\fR requires the experimental extensions in Version 5.9 of Icon. .SH BUGS AND LIMITATIONS Because of the handling of the scope of local identifiers in co-expressions, expressions in programmer-defined argument evaluation regimes cannot communicate through local identifiers. The results produced by programmer-defined argument evaluation regimes are always dereferenced. Some constructions, such as \*Mbreak\fR and \*Mreturn\fR, cannot be used in arguments to programmer-defined argument evaluation regimes. See TR 82-8 for details of these problems. .PP At most 10 arguments can be used in the invocation of a programmer-defined argument evaluation regime. This limit can be increased by modifying \*MCall\fR. .SH SEE ALSO pdco(2) .PP .Pd .PP Novak, Michael and Ralph E. Griswold. \fIProgrammer-Defined Argument Evaluation Regimes\fR, TR 82-16, Department of Computer Science, The University of Arizona, 1982. .PP .Ex .SH AUTHORS Ralph E. Griswold and Michael Novak