PDAE(2) Icon Program Library PDAE(2) NNNNAAAAMMMMEEEE pdae - programmer-defined argument evaluation DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN 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. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS AAAAllllllllppppaaaarrrr{{{{eeee1111,,,,eeee2222,,,, ...}}}} parallel evaluation with last result used for short sequences CCCCaaaallllllll((((aaaa)))) utility procedure to call functions EEEExxxxttttrrrraaaacccctttt{{{{eeee1111,,,,eeee2222,,,, ...}}}} extract results of even-numbered arguments according to odd-numbered values LLLLiiiiffffoooo{{{{eeee1111,,,,eeee2222,,,, ...}}}} models standard Icon `lifo' evaluation PPPPaaaarrrraaaalllllllleeeellll{{{{eeee1111,,,,eeee2222,,,, ...}}}}parallel evaluation terminating on shortest sequence RRRReeeevvvveeeerrrrsssseeee{{{{eeee1111,,,,eeee2222,,,, ...}}}} left-to-right reversal of lifo evaluation RRRRoooottttaaaatttteeee{{{{eeee1111,,,,eeee2222,,,, ...}}}} parallel evaluation with shorter sequences re-evaluated SSSSiiiimmmmpppplllleeee{{{{eeee1111,,,,eeee2222,,,, ...}}}} simple evaluation with only success or failure RRRREEEEQQQQUUUUIIIIRRRREEEEMMMMEEEENNNNTTTTSSSS _P_d_a_e requires the experimental extensions in Version 5.9 of Icon. BBBBUUUUGGGGSSSS AAAANNNNDDDD LLLLIIIIMMMMIIIITTTTAAAATTTTIIIIOOOONNNNSSSS Because of the handling of the scope of local identifiers in co-expressions, expressions in programmer-defined argument evaluation regimes cannot communicate through local identif- iers. The results produced by programmer-defined argument evaluation regimes are always dereferenced. Some construc- tions, such as bbbbrrrreeeeaaaakkkk and rrrreeeettttuuuurrrrnnnn, cannot be used in arguments to programmer-defined argument evaluation regimes. See TR 82-8 for details of these problems. At most 10 arguments can be used in the invocation of a programmer-defined argument evaluation regime. This limit can be increased by modifying CCCCaaaallllllll. SSSSEEEEEEEE AAAALLLLSSSSOOOO pdco(2) Novak, Michael and Ralph E. Griswold. _P_r_o_g_r_a_m_m_e_r-_D_e_f_i_n_e_d _A_r_g_u_m_e_n_t _E_v_a_l_u_a_t_i_o_n _R_e_g_i_m_e_s, TR 82-16, Department of Com- puter Science, The University of Arizona, 1982. Griswold, Ralph E., Robert K. McConeghy, and William H. Mitchell. _E_x_t_e_n_s_i_o_n_s _t_o _V_e_r_s_i_o_n _5 _o_f _t_h_e _I_c_o_n _P_r_o_g_r_a_m_m_i_n_g _L_a_n_g_u_a_g_e, TR 84-10a, Department of Computer Science, The University of Arizona, 1984. AAAAUUUUTTTTHHHHOOOORRRRSSSS Ralph E. Griswold and Michael Novak Version 5.9 The University of Arizona - 8/16/84 1