|
|
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.