|
|
1.1 ! root 1: .so tmac.ilib ! 2: .TH PDCO 2 "The University of Arizona \- 8/16/84" ! 3: .SH NAME ! 4: pdco \- programmer-defined control operations ! 5: .SH DESCRIPTION ! 6: These procedures are taken mainly from TR 82-8, which describes ! 7: how co-expressions can be used to model the built-in control ! 8: structures of Icon and also provide new ones. Some procedures have ! 9: been corrected or improved and there are additions. ! 10: .SH SYNOPSIS ! 11: .nf ! 12: .ta 2.0i ! 13: \*MAlt\^{e1,\*be2}\fR models \*Me1 | e2\fR ! 14: \*MColseq\^{e1,\*be2, \*(El}\fR produces results of \*Me1\fR, \*Me2\fR, \*(El alternately ! 15: \*MComseq\^{e1,\*be2}\fR compares result sequences of \*Me1\fR and \*Me2\fR ! 16: \*MCond\^{e1,\*be2, \*(El}\fR generalized Lisp conditional ! 17: \*MEvery\^{e1,\*be2}\fR models \*Mevery e1 do e2\fR ! 18: \*MGalt\^{e1,\*be2, \*(El}\fR generalized alternation: \*Me1 | e2 | \*(El\fR ! 19: \*MLcond\^{e1,\*be2, \*(El}\fR Lisp conditional ! 20: \*MLimit\^{e1,\*be2}\fR models \*Me1 \e e2\fR ! 21: \*MRanseq\^{e1,\*be2, \*(El}\fR produces results of \*Me1\fR, \*Me2\fR, \*(El at random ! 22: \*MRepalt\^{e}\fR models \*M|e\fR ! 23: \*MResume\^{e1,\*be2,\*be3}\fR models \*Mevery e1 \e e2 do e3\fR ! 24: \*MSelect\^{e1,\*be2}\fR produces results from \*Me1\fR by position according to \*Me2\fR ! 25: .SH BUGS AND DEFICIENCIES ! 26: Because of the handling of the scope of local identifiers in co-expressions, ! 27: expressions in programmer-defined control operations cannot communicate ! 28: through local identifiers. The results produced by programmer-defined ! 29: control operations are always dereferenced. Some constructions, such ! 30: as \*Mbreak\fR and \*Mreturn\fR, cannot be used in arguments to programmer-defined ! 31: control operations. See TR 82-8 for details of these problems. ! 32: .SH REQUIREMENTS ! 33: \fIPdco\fR requires the experimental extensions in Version 5.9 of Icon. ! 34: .SH SEE ALSO ! 35: pdae(2) ! 36: .PP ! 37: .Pd ! 38: .PP ! 39: .Ex ! 40: .SH AUTHORS ! 41: Ralph E. Griswold and Michael Novak
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.