|
|
1.1 ! root 1: ! 2: ! 3: ! 4: PDCO(2) Icon Program Library PDCO(2) ! 5: ! 6: ! 7: ! 8: NNNNAAAAMMMMEEEE ! 9: pdco - programmer-defined control operations ! 10: ! 11: DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN ! 12: These procedures are taken mainly from TR 82-8, which ! 13: describes how co-expressions can be used to model the ! 14: built-in control structures of Icon and also provide new ! 15: ones. Some procedures have been corrected or improved and ! 16: there are additions. ! 17: ! 18: SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS ! 19: AAAAlllltttt{{{{eeee1111,,,,eeee2222}}}} models eeee1111 |||| eeee2222 ! 20: CCCCoooollllsssseeeeqqqq{{{{eeee1111,,,,eeee2222,,,, ...}}}} produces results of eeee1111, eeee2222, ... alternately ! 21: CCCCoooommmmsssseeeeqqqq{{{{eeee1111,,,,eeee2222}}}} compares result sequences of eeee1111 and eeee2222 ! 22: CCCCoooonnnndddd{{{{eeee1111,,,,eeee2222,,,, ...}}}} generalized Lisp conditional ! 23: EEEEvvvveeeerrrryyyy{{{{eeee1111,,,,eeee2222}}}} models eeeevvvveeeerrrryyyy eeee1111 ddddoooo eeee2222 ! 24: GGGGaaaalllltttt{{{{eeee1111,,,,eeee2222,,,, ...}}}} generalized alternation: eeee1111 |||| eeee2222 |||| ... ! 25: LLLLccccoooonnnndddd{{{{eeee1111,,,,eeee2222,,,, ...}}}} Lisp conditional ! 26: LLLLiiiimmmmiiiitttt{{{{eeee1111,,,,eeee2222}}}} models eeee1111 \\\\ eeee2222 ! 27: RRRRaaaannnnsssseeeeqqqq{{{{eeee1111,,,,eeee2222,,,, ...}}}} produces results of eeee1111, eeee2222, ... at random ! 28: RRRReeeeppppaaaalllltttt{{{{eeee}}}} models ||||eeee ! 29: RRRReeeessssuuuummmmeeee{{{{eeee1111,,,,eeee2222,,,,eeee3333}}}} models eeeevvvveeeerrrryyyy eeee1111 \\\\ eeee2222 ddddoooo eeee3333 ! 30: SSSSeeeelllleeeecccctttt{{{{eeee1111,,,,eeee2222}}}} produces results from eeee1111 by position according to eeee2222 ! 31: ! 32: BBBBUUUUGGGGSSSS AAAANNNNDDDD DDDDEEEEFFFFIIIICCCCIIIIEEEENNNNCCCCIIIIEEEESSSS ! 33: Because of the handling of the scope of local identifiers in ! 34: co-expressions, expressions in programmer-defined control ! 35: operations cannot communicate through local identifiers. The ! 36: results produced by programmer-defined control operations ! 37: are always dereferenced. Some constructions, such as bbbbrrrreeeeaaaakkkk ! 38: and rrrreeeettttuuuurrrrnnnn, cannot be used in arguments to programmer- ! 39: defined control operations. See TR 82-8 for details of these ! 40: problems. ! 41: ! 42: RRRREEEEQQQQUUUUIIIIRRRREEEEMMMMEEEENNNNTTTTSSSS ! 43: _P_d_c_o requires the experimental extensions in Version 5.9 of ! 44: Icon. ! 45: ! 46: SSSSEEEEEEEE AAAALLLLSSSSOOOO ! 47: pdae(2) ! 48: ! 49: Griswold, Ralph E., Robert K. McConeghy, and William H. ! 50: 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 ! 51: _L_a_n_g_u_a_g_e, TR 84-10a, Department of Computer Science, The ! 52: University of Arizona, 1984. ! 53: ! 54: AAAAUUUUTTTTHHHHOOOORRRRSSSS ! 55: Ralph E. Griswold and Michael Novak ! 56: ! 57: ! 58: ! 59: ! 60: ! 61: ! 62: ! 63: Version 5.9 The University of Arizona - 8/16/84 1 ! 64: ! 65: ! 66:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.