🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.oberon
Article #737

Coroutines for Oberon [01/01] (long)

#737
From: Claudio Nieder
Date: Thu, 28 Dec 1995 21:14
234 lines
17829 bytes
Hi,

this is the Coroutines module mentioned in my earlier posting, together
with some modules to see it work.

To use the sorting demo, first call SortBasics.Open. Then  from the
Algorithm menu select SortPlus.Insert SortPlus.Bubble SortPlus.Randomize
and SortPlus.Start to add two sorting processes, randomize the data and
start the execution of the processes.

AsciiCoder.DecodeFiles % Coroutines.Mod CoTest.Mod SortBasics.Mod SortPlus.Mod SortPlus.Menu.Text ~

d;Bh7`5603hDc[KYKHaK<QY;WjHM[;=ZKYc7lQ<`06P7P1l1k45hDc[KY3:FG>eaj6P5P1@6@1nP
90l7H061l1]05P<P1@@907hDc[KY3VFG>eaj6PFP1@M`1nPFP1@I@1H20g16P2Q1l1727Pa@0@B`
06P0A06`7d5H0Z0:`0\0PjP1l1=06P80O`7@0VF8HCO:A[:C;:87jKUkK[;MC[K;kLg98AY:1YJU
k;S9=EKMIK>Y9;1IMQ;I3;M;;I1iHMk;U9>9KI7K>[98EI:KH3AY:KH2Y:JCkL1IKO;I[;K;;8CK
KQ;K;KK;[KYkL1iHO[LO3883kL1iJMkK_[K1YIUkKK;8KjK9KM6fF:CG2bPbFjRfgFgcRF@VFj2b
d>G@<\S5]Ye]U]Q9T\U5^Ue]T]\^U^\4TYU>_KHW;8Q[LOkIUKHKKI9;8C[K1IH1iM3KNI98_;JC
kHA;8W;JOKMI;I1IK3kJ;;8C;M1IH9KHQ;M3[HIKI19MOK3C8IC[I=KIUKIM;8Q;K3;M=kKUKKW;
85KN1YJ[kLY;83;8=KI_;87;J3[K?KIW;8C[K1iHO[KW;M3[KY;89KI=KJMKJYKJO[KW[;KH2KH2
Y:J;[L;;8CkL1iKMKI1YL;kLY[LCkHYKJO[K1iMAKJ8LUkK7KI9KMUKIW;;19MAKHY;8ckK[;8[k
L;;8YkK1iHUKI3;M;;8Q[LOScM^U5TYe]PdY5mZ@EZ?MX5MZCUUP\Q94]Qe^U5Tdm=O[H;KNM98C
ZI19MAKIc;83;KIkK7KHYKI1iLQKH7KI1iKM;8Y;J2BdFf`2G@BGdFfl\]eM^d54WkL[[L;;;19M
AKHL^_]]U5TWU]_E\QU]Pd^QE^Y=\RU]U]Q94^_=]^U^c9MO;8Y;JCkL>Gh66Bfj:gdjfc2BjRfb
2bbjFjVfb:gb2BjVffFF@BGdV60CkLjfbFFbFFbjB@VDc<__]>9kKMk9Y;8=kKI;K_;8Y;JCSb]^
\]\\\Q9T^X]\Pl\QE^R=\W]\PL\_U]\]\SU^_E^P\]Q=_PD^UM\\=\Y]]PT^X]<W3bB@FFkFFgT^
Xm=HNOScU^YU]\5TX=\f]<WkKKS\m]S9KKH2]KHUKJ`i2BhnfdjVYe]W54OcdBGGf`4fP?e]PT>;
cV6faVFgBgg>Gd2BjRfb:WP<=6Fg2b`BFbVFjVfg<\\5Tb]\cYL`gdUPTZX]\PL>Oc`Nfb<\b]\P
\^c9I1IHW;8W;M3kHG;8=kKUK3CHH19LU34TX=\c5TYU^c]\\e\PT^_5TR]\Pl]^11QQAG2bWBGd
FVg=]c]\PL^_QS5]UM\[5TSm]T]\Pl^YU]\5TSm]]5^\=\Ye]P\Q9<\Rm]eU^P<]\U]Um\QU]PL^
d=<2Bhn6FFi2Bk6FfFgb>GGf`48EV6KkKHINg`>WeM^UagjF@PT=]Ve<8M19LIKH`fHHY;89KJ=3
`iBWW]\c5T_e\P<]dM^PT\Ue^UU]_5^]]\^U^^\Q9<Yd5Tc5=_KI9;8WkKhLY[L3[K?KI1II=KI7
;MW;8O[K11nDaFFinFg2biVgiBgbfFF2bk0AKHWCgnfk2BaFfbjF@:gb>fgNFgVFmFFb2b`\Q9<\
PPRU]U]]Pl^YU^X5TW=\b1>6`dP9mTf]\Pd\Y5_UU\P<]dYKOkMJfg4Td5=>eSVD@nDaP^4T1M^P
<YPT\_1AKH]c6V``>faFfi8MOCj\<O;MAKI2Bhb6HKbB@VD@B6XL;KHI;Kc;8G[KOC@VFc2Bj<=0
<]ciLVFf4TeM^QE\\]\Pl]^QU]]^\Q9\1CZK19Ml]b=_\4TdIJ<]c5TU5_`]\SU^UU\j\Q9\1KJH
7KJl=Zc6V`4BEdFF@f41iC5KI889kK;kL1YK;[M;[L19L;[L=kKUKK1iI330`dnVPP\]\Pl]eU^c
=]T]\Pl]V5Td5=KH2ChC5KIUS^TY_m]`5TQe]T5Td5]UE^Ue\_E^U5TTm]UQ_U^P4=4Tdm=C[KW;
L;kHY;8Y;J2bi<\SakRfbjF@Bfb>fdBfdjfcf`4V`kRfd>6KKIKkKUKN1iLQ311YkK:6KKHUkJ;;
I1IH2bdjF@FgiFFG2BZRfj>G@BGd8I>g`:VYe]W5T_e<`c0f`4V`anFfb6nVP<]c5T^Q^]\UQ\4T
Qe=PcAj\]Uai\^c=]^m\PLYUE^^]\\eU7MXUe]QE\\]\T5TS=\^5TR]\P\Q9<Qb]\]m]f]\TeU=<
Q9\Q9LZ7=Y\4Y@EW=<1Y2?3880Y3K35KI1iH3;KIKI9;8_;J;SU5_UM\eU^YiI6F@>fgfff6FgBF
G2bTBG@B7M;8WkH3[KWK3CH2Y;J;cihHT^_iL;KII98C[I11UC@6Fi8LOKJ\<l]Yad@j`gf6AKIH
HUKIWScm]P<]d5TS=<ff`:W=<Q9`d>WQE^U=\P<\c540NEdFFg\<0<<Q[L>6bB@B7118L`b0L>YS
da68LUKJ]KHYKI11hK=3CS`E>03[Kd=1IKO[L;Cj01IMFg`bF@nFgFFG2bPjFb2bdJVYU^P4^_==
0H3l^bm]^m\PL^YU\UAc`b2biP\4TdQW1P\1hMC;Kd]_U>C[KW322L>883;M6FfbFGf`4PbYI`kF
F@BfdPU5Td5=N6PS1l=4]UakFVQA@jfgB72Bj`f6fdjf6<QU5_UM<l=BWb]\QU\\44XL;KIMKH53
C;MI98_;J0UKIYKMU[K19MO3019MP^\1fP9<Y^iH3kL;;8ckK[[L1iHOKK@@BGi6Fh>GF2bkRfd`
bRgbP^17Ci`d\\\4TdQW1hHb6`6V`4:73KJMkL19ICkL@bb2h@O[L0WcanFgBgdjfjFfi2R_YHbf
dFFkTUP``HN4TQE>0`bf0KKHCC@XL@@VegFG@>Gdnfj@j\\^IM4Td5=1i@O3P^DZUM^UU^PL\_1T
^_5Tb]\U12BjH3l\QE^R108;1IHMSbiLh@0`6<Q=H@KKJ?KHeI3CH2YRPL^Q]]U5TQM>WKHC;I1Y
IO[L1iD?JB6FgBV85ZP<\`5^\=]UM>8M4T1]]Ym<M985JMYcT22M3G[KOCF2bdJVdIIKP1]=4T;]
\bQPT\_]<F6O[LY;83[K1iA7JIM3BF@Jg`0bB@6fiT^X98[ZKC;N1iB;[L0dU=`TJF@V69kKd]WT
^\4Tim=Rf`J7hM3KJY;8=kK<\Pd\eU^eE^UYLbf`>gb2biFGh2gg:WYe]WIJY[;\13:L3[LY;8=[
LOSd5=6FanFkFF@ffbjVYm]^]\T5T`E>53W;;19M<]b5T]=]W5]d5TR]\Pl]dAi>GG2bYnF@2GfF
f`>gb2BaFf6V`a6FiFFcFGfbF@NWU1C37kKK3>G@NGdVfaHMWKI>dg0@@BdgjfC4TTm]PT>CCF2b
k<]\alnV=<QX=<d^Y]\g]\bM^Pl^YU>1IMMkL3[M;;I1YIC;K;kL1iKQKIM;8;;M7[;KH2K`TJVi
A@>f`jVYU\Ue]dYIc;8Q[L01iMC37jK0T5Q;K;3>gbjFb2bV6fdbF@Bggf`4f`4V`abf`FGbVfg2
DbVf`bFGFfjjfbBGG>FdV`g:g4ZfgFFiNFG>Gj:g`FGaFFP6Ff>f`BgbbFG>Fdf`4V`6L^_5Tg]\
PHHHKQ[LO[MT^X==1IKBV\Y;KX:CI3KHBK:DOZDY:8WJFW:E;JCIiB;[Lh>KH37jCMjDYJ319:E9
83JKCS_\YQM\j4T=5Zm<VdLWPLZ@]Wa\Vk4T^]\W=\d=]f]\7E^_m^mTZB]Z5MWPDUY\QP4UZ8BQ
Z>1ICQbI2cM2bYh<QQ^]<0@S6DV>eR^C@Z2`YNdTZC@ZbD2bV2eN:cL^C@>EXDVi@g00B5\Q=TZI
5Z5]Q94ZBmY3EUm4ZBm9;:A[ZD;j>KH2QZDhDZbN:eR>dW:ERf`4V@hZCX:eW>dMf`4V`iBg`>V6
m]b5ZjTY?eY7=Y>UZk\Q9<Q=5ZjTY?1f`4FDWBdMf`6JeP:e6V`f66K:De9C0gQ`E^_M\j4ZBm9\
Q@E:FDR@@jdRNUBi@>5A9Le9DURk4TF=XB5TcU^QAM6DY:ePVE@nDS2bYVeY@G:d\BeR^C@JePXK
;kMe9DUR5aD^c6V@QFdSVDWf`4V@gFfkjBhZcN2gMf`4V`TJD@jfbN602BZRdRjd6VP9d=L>3kHJ
4\WX4UC=[C13:AU::W;M3SYLU<]X>5UcU>H:19ACZE19=CY:Yi>19:EAfnFgNF@Ngg:Gb2b`<]We
]PDUY\Q9<Q5UYC]X=<Q9<10d8000`D^bIVB@BdT00000HAM2C@g`V2EMfCH^c6\X>98MJA_BY0gI
3KH3QZD8A@Z:ePjdYJdR:EERB[6DYd\bAFBggZCX:5>UY00>e\>EZ`SFDZ:eRNDDfDXbBc:ggdU=
5ZYLW=<Q9<9ff`V6fCH2BZRdR4T;]\bQ^`b<<ICbZcNJdPb4gaf6fd@Md\bm]]Qk4T5eY4M7V0Bg
gjbV2eA2C@BETH3<QC14ZEUZB]8@jnFGH:KH2C@VH3<Q`E>\Wdm]^4^k4TX`anFhVG@VFgBgg2bc
bfgPf188MKI;31iMF6K:D>EX2BEVb6`Y00LZ@UUdm=W;MXAH:gI3<Q9AjHCfcf6fd@@B52200B6Y
ZD[RP\=@M461IA027^c6V0AJ@I:EAI<Q9<Ci>HAMbMHA4TDEZ11^c6f@XP41UJIWKIZbMf@QFdSV
4f60fP;]\be=000KHAM:A:eb>7gI3KX@;jA@YFfiF6FDWh@O3Y3j20$
Gk<0QO0_=9<PC=_^U^Q5_a4V^LZSe]^dX^U>O@3605hDc[KY3:FG>eaj6P2P1l1Y73PJFoooo06W
18`YN06@SnFfBfRbfbffidYUm>>26`Y0d508A;09J1LZ^lX5UZB]X75U`TUY=Uk\Q9LZ^lX516CF
VfD^30X<IIJCi>0PcTUY=Uk00BCFVfD00FCFVfD00JCFVfD00NCFVfD00RCFVfD00VCFVfD006CH
bbdV20PaTUY=500U9;CK:00>CFVfD00TV\<]Y00H=IIJC10@KbbdV20PgTUY=500a9;CK:00VCFV
fD00:CHbbdV20PaTUY=500U9;CK:00>CFVfD00TV\<]Y00H=IIJC10@KbbdV20PgTUY=500a9;CK
:00VCFVfD00>CHbbdV20PaTUY=500U9;CK:00>CFVfD00TV\<]Y00H=IIJC10@KbbdV20PgTUY=5
00a9;CK:00VCFVfD00BCHbbd00H<IIJ00DV\<=00>CFV600Y9;C30PeTUY10@Kbbd00h=IIJ004W
\<=00VCFV60Pe4V\<=006CFV600U9;C30PcTUY10@Jbbd00H=IIJ00dV\<=00NCFV600a9;C30Pi
TUY10X=Q9;C30PaTUY10@Ibbd00h<IIJ00TV\<=00FCFV600]9;C30PgTUY10@Lbbd00H>IIJ00N
CHbbd00H<IIJ00DV\<=00>CFV600Y9;C30PeTUY10@Kbbd00h=IIJ004W\<=00VCFV63h3J1l1oo
oooo1<>06`0nP30<bcooo7@02`APC100\Y<P=U1f`4>EG04W`TUYa600S9;C30PbTUY10`Ibbd00
8=IIJ00\V\<=00JCFV600_9;C30PhTUY10`Lbbd00<W`TUY10`Hbbd00X<IIJ00LV\<=00BCFV60
0[9;C30PfTUY10`Kbbd008>IIJ00<W\<=00S9<Q9;C300S9;C300U9;C300W9;C300Y9;C300[9;
C300]9;C300_9;C300a9;C300c9;C30Pa4V\<=00<V\<=00DV\<=00LV\<=00TV\<=00\V\<=00d
V\<=00lV\<=004W\<=00<W\<=00:CHbbd00`Hbbd00@Ibbd00`Ibbd00@Jbbd00`Jbbd00@Kbbd0
0`Kbbd00@Lbbd00`Lbbd00h<Q9;C300S9;C300U9;C300W9;C300Y9;C300[9;C300]9;C300_9;
C300a9;C300c9;C30Pd4V\<=00<V\<=00DV\<=00LV\<=00TV\<=00\V\<=00dV\<=00lV\<=004
W\<=00<W\<=00FCHbbd00`Hbbd00@Ibbd00`Ibbd00@Jbbd00`Jbbd00@Kbbd00`Kbbd00@Lbbd0
0`Lbbd00X=Q9;C300S9;C300U9;C300W9;C300Y9;C300[9;C300]9;C300_9;C300a9;C300c9;
C30Pg4V\<=00<V\<=00DV\<=00LV\<=00TV\<=00\V\<=00dV\<=00lV\<=004W\<=00<W\<=00R
CHbbd00`Hbbd00@Ibbd00`Ibbd00@Jbbd00`Jbbd00@Kbbd00`Kbbd00@Lbbd00`Lbbd00H>Q9;C
300S9;C300U9;C300W9;C300Y9;C300[9;C300]9;C300_9;C300a9;C300c9;C30@I2CHbbd00`
Hbbd00@Ibbd00`Ibbd00@Jbbd00`Jbbd00@Kbbd00`Kbbd00@Lbbd00`Lbbd00H<Q9;C300S9;C3
00U9;C300W9;C300Y9;C300[9;C300]9;C300_9;C300a9;C300c9;C30Pb4V\<=00<V\<=00DV\
<=00LV\<=00TV\<=00\V\<=00dV\<=00lV\<=004W\<=00<W\<=00>CHbbd00`Hbbd00@Ibbd00`
Ibbd00@Jbbd00`Jbbd00@Kbbd00`Kbbd00@Lbbd00`Lbbd008=Q9;C300S9;C300U9;C300W9;C3
00Y9;C300[9;C300]9;C300_9;C300a9;C300c9;C30Pe4V\<=00<V\<=00DV\<=00LV\<=00TV\
<=00\V\<=<P?h8`7lO0P1P4P1@=1020hD0009B040hD2eZBEYF4Q1<12eZ0S9;00DV\00`Ib200Y
9;00\V\00@Kb200_9;004W\00`Lb200S9<I100S9;00X<I100W9;008=I100[9;00X=I100_9;00
8>I100c9;00DV`T500<V\00PbT500LV\00PdT500\V\00Pf000_100R300<700LV`000S100:300
L6008=00`J00Pf000_100R300<700TV`000S100:300L6008=00`J00Pf000_100R300<700\V`0
00S100:300L6008=00`J00Pf000_100R300<700dV`000S100:300L6008=00`J00Pf000_100R3
00<700lV`000S100:300L6008=00`J00Pf000_100R300<7H00nPo30<0L0PA2040`Y000f42`V`
60Ph46H30Pa000U100>300T600H=00@K00Pg000a100V300VCH00Pa000U100>300T600H=00@K0
0Pg000a100V3006CH2300H<00Pb000>3008=00Pe000J300h=00Ph000V300<V`0006300X<00Pc
000B300H=I100J300h=00Ph000V300DV`0006300X<00Pc000B300H=00Pf000N3008>00Pi000W
9<00Pa000:300h<00Pd000F300X=00Pg000R300H>00@J2300H<00Pb000>3008=00Pe000J300h
=00Ph000V300\V`0006300X<00Pc000B300H=00Pf000N3008>00Pi000]9<00Pa000:300h<00P
d000F300X=00Pg000R300H>00`K2300H<00Pb000>3008=00Pe000J300h=00Ph000V3004W`000
6300X<00Pc000B300H=00Pf000N3008>00Pi000c9<00Pa000:300h<00Pd000F300X=00Pg000R
300H>00X<Q9<00Pa000:300h<00Pd000F300X=00Pg000R300H>00`H2300H<00Pb000>3008=00
Pe000J300h=00Ph000V300DV`0006300X<00Pc000B300H=00Pf000N3008>00Pi000W9<00Pa00
0:300h<00Pd000F300X=00Pg000R300H>00@J2300H<00Pb000>3008=00Pe000J300h=00Ph000
V300\V`0006300X<00Pc000B300H=P1`AP?ho00301Q04PPF0fdWBdZbdR2bQnFZFfiBgM2BDZB@
ZFinbHBCeFGfVCJ2BEVb6f`TfDXnDYBE@>DMfcQnFinfjBgdjfb>GFndjBGF>EMfcYVeYBeRfdMf
`6JeP:e62B@>FF2bf6fdjFM2bQjBX:eW>dR>eY^c62B@>Gj^FM2bP:EY6d\2BI2CH2C@nDS2bQRd
P:eMf`62EYndQTXEEZ55T`MW=4TPDX5mX9eY=4TP4TPTY?mY@]QP4TP88ndjBGG>Ej:gdjfcRBA2
GM2BknFiRfb:G@:bD^C@>DGBEY6DW>ESFDYRbabB@PYLWPlYeU>0P^=\S5]X]\b54\QP4TPHAM:A
K881IAMB@2gMf`6250BdgZbMf@@2B[6DYf0<]j4T9eYD]X7]XBMW=44520O20LX_UZUA@Zfj>Gj2
BaFfcVFg>GAVbM22TY^MW=441aQjBWFd[2EYndQL:A9LIiLYkJIiHCi>K88hChD:7HKe98]kK04T
310KKHCCF2baVbM2bW00XK330n4bT=4TP\8TX_MW=\Q@192:gbNFZFfiLW=dZ1E:CHJe9COZC?JB
M:EgI35JA?JB<QLlX5UZPl]^5Tf=\\9I1YL;kICkLYKIUkLiH3AY:ihA;:ENgdBGd2BiF6@@jfjf
FaFFi>G@FGh2BjnF@:cJFC>ZbDf`4bAXFEZ2bg00Pc12eZBUg1044000\X>UXPD^U9EP=\X>aQnF
Z@GBdgf`60$
aCCh7`Z603hDc[KYKHaK<QY;WjHM[;=ZKYc7L:DPC=_^U>HJMiD7[K0V06`7\EDP?83H0<CP=P1`
P`1>eljFjPReUCM\^1X2H0422@181H0\0D0N060?07h3R0@4@182H0<l2@2>eljFj@IVFG>ea085
0I07P4P1`h`10@da182H04J2`1060mN0LP?H2H0Tc1`1H10W2810=79h3N160WO2L0F0`P;0187c
P=mY4]Z<]XPLZ_E^dEXQM^YM\cMWP4UZ4TZE^_DVaD]eU]iTVPDUY\Q=4UZ4T1e]PlYR]\bm]^5T
`E^_E]UM\d5TSm]^M^YM^dM^Pl]V5Td5]b]\U5T`=\bU^cEW=4TP4T4=\d=\j\QP44198Bf`Bg`2
biBGiFgaBgj:gb2bkVFjRF@2GinfaFFbFGiFfi2BjnF@>FiFf`Bgb2b`jFb2bfnFbVFcVG@VFjjB
@VDc2ba:gbHJO[K1iKU;8KkK9SYM\QU^Ym=K881QP8J3kL1YMCkL[KHI;8CKKQKH7;MI98Y;J;;8
9KJW;LIKHc;8UkK[;MC[K;kL1IHUKI19MUKJ?kI;[L;;I1YHc;8WKIM;IC[K?;8KKIWkL3kI;kLM
Y;MI3198Bdd>Gh@Mf@@881adfV\]\]]\^U^c5TQe]P\\hU^Ue]T]\T5TVE^Q]]U5TcU>01iM``jF
@nfkjF@Rf`jFbbfb:G@Bgg2Bh:gg>VcM^PlYR]<HHM;IK881982R_U^X]\b5T]]\c14TCM\b]\Ue
]Pl]eU^`]^d5TYM^Pl]^U]i5TTm]^]\Pd^Y=\PT^X=]c5T]m]T]^\]\Q\QP4TPLX_]]]=\^U\cEW
=PP44Q[L8IhL2gjBGjVFgNVd5]Ua`B73[K2BbVfiPPL^d]^Ve\PT^_m\UU^X]\b]Q=4TPhDO[L02
bdfFh08MAS4=\d1TXY14^QAG2bYnFi4Z\]>1IJW;8Y;JLX_]=`62B@2bfn64TY]]`1<]^m<`inFi
Bgdj63;K?kKUKJY;JKkLMI3EI:KH3CJCQjCU:EKH2WJFW:E;JCI987Z>ki@O[LOKMYSU9;19AeI?
9JJW;L8;1YAO[KYkLI98KZEeI?KJIMKM]JJ;kM;[LW;;1iC5KI8;19EeI?YJIa;MW;;19E=Z>k9E
;S6E^Q]=W;;KH2]Z>kYECKI0IjK?k>KH37jCMjDYJ3CXCkI<[9<gI3CXL;;IUKH_K?Qi>19IO;Mk
I<g98AY:ffbL>4TYU\Ue]d=]VIIUkL1Y:CI3<[@]X=<Q4=\d=\Z4Tm4T1EZB=XI5T>5T?eXP<Y>U
Z5mX5EZk\Q94Zbm]SiLZB@fC@2eWVDWBeR:E@BeW2BX:gg>6:eb>fMf`42502bN2BYFdQnDYBd6V
`4jfbRGjZC@2Ein6LW=<Q9D\eM^iEWPDX?mY<]X1eYk\Q9<Qbm]eU>DWPLX^4ZBmY3]XCMZk\Q98
Le987Z;`Mf09KHYKHe989JHYcMf`4V@lbB@VGM2bTj4?28MC;MIKIe983ZDU2U9<1iC=:87:B3ZD
gI3FDWBdMf`6V`Z2Gb6FjFfV>gc2bN220RBRjBS:g`HCWkICI3CH2C;Ie98CZC0198AY:1iMAKHY
k9W;8YkKBfg2BEVR9<Q`AX04TP4TP4TXD5l]Pd]U]\TM^P\^`U\QA@ZbDf0a[>1IB0198198PUE^
U5TZ<5FDWPF=XB]Q9T]YM^dUUPL\eE^j4T@E>P=HK3KJM[>1i@M1F48I3SDm]Cm]bU^j4T4=<^3W
KI;;Ie98IjCMjACZCYj>KH2C[>11XDgI31982biBgeZC@2eWV4;ZD`P:EY@KbB@>CH2CH2bWJ4P=
\QX``bFf2BR661iLPZ<U=\Q@EZ?M89JEUJA1iA;;ME9:C[>1IBhA88]J@U:8]KHI[>1IB0Ci>KH2
5JA?JBMJ3CH2]KHI[>kiH[[LM9I3;M^edfeMf`4V`QjBZ:ePjdYJdR:ED>fj:GG:ggFGj@F2bf6f
djfDf`4@@NdbBgMf`6f@X0@XFGjZBDTUPd]Um^F=\\980PF=XB5T]EWP\Z`U\QaVh>KH252`fjbd
BFMfCbnFj^C@fFG2GMfcah>1IKM9NeI?Ck>KH2CXEMY@UkK3;I7KHW;MAIKCi>19:D^U]]_e^U5T
_U]T5TTm]d5TZ<U=<Q9L\eE^^T<Pj\W^]\ge:^c6V`4000T\b=\g5T^]\g5TTm]d1L800:700F42
ejBgMf00@WFfkBd`BWZ4UF=XB9Ie9892g98M[>1IBM20]2K3000B6BUC1k9Ig98KcdB6UKI93g98
7KMU[>k9KCkL^c6VPG5Y9UY55TS]^b5TS4T>=Y<5T4mY=<Q9<QSQTQj\WTM74>`MdZ^DXb10fP90
eaaFW^d]U5_d]Q9<Q5e9gQ5A@jdbN7LW=\Q=00CZKW;M3;KI[:A9Le9872LWPd]j0;2gaiZcP:EY
64OZA11UJ:gQFa6<Q]EWP\:0`4jVgEWP4Zb1\152`TJD@bfd>GjfCWVDV2BZRdRjd6VP9d]j\W`L
WPdY5mZXT]YM>Ci>1YK;CMfCfV6KH2TYC]X=<Q9<1<Vk4T^1`MH2ChEP^]\geU^]\hi8MJBI:89B
@VDW>DDjfD^C@j6eAgFV^01IAM:Ag1jdRNEDjfbNGGPYLWPPj0P=P>i>XK;3X>jdTbdMf`40Q[>k
9LgI3LX?5ZI5UcUUPd]UY;YKJY;KVbMfP9d=T\QAMHHYCZ0gI3C04_j\WXdY[DV`<UZ4U^5T4=YF
5Tb<U[DV`LW=<1`lZcNfBDjdE0AYK1ICOB@:cD^bHV2\]^0U3`fj2jfbLWPdZ^004TXDUP01iLO[
LJfdT]T5TZ04T9e]c1gI3K0\8`Y>FdFFbFGfFFE^c6V@[03;KI;AO[K;[>1Y@04UZ<Q9L^dM]jH@
U2J3460LWPDUY@QF4`aX>b64TYEWm4Vk\1N5hHLT>=Y<Q=`4>DGjdRNEX:eW>TC9:7KMU[;Q;;1i
LYc]Vf^bB@>fjXL0Ci>1iH[SR]^c=?k9EUJE;j>KH2L<hHdU^Qk4T9e9VfDf`4V`Rh>XD;:D;J@Y
J3C`466PmT:887Sj8K`6H2_2PS00CHBL\eE^^D<4TD5Y5I3<Q9h@B50KKHCCF2baF7U3P=P9HH0d
X1UYC]8<Q9\80ChHD77S^d=\1\8f`4\Z>UZ9UYP<\\U]4Q=HA4TCM\X9Ih>KH3092BdgjVZLW=X@
0>6:6ZS61gI3C`Q0PSQb1T5`DHA8AO[K^c6f00XDM:AE9:KKHa[>11;2CY>1IB0gI3Ch@OZC4TQ]
WadVh4VgLWP\]mDVaTVgTVhLVfTVgLWP<^m\=9JB]b`^C@:gNfF@fdWBTQMW=<Q21HB\]Q5_lDVP
TZ8]81YD;:E[ZDM:8Q98;ZCPc]<9cN6FERbiFfbBF@fdWBTa=U]D^Z4Uc]<TX9e:SK:gI3V`ThL;
KITWP4VPTZ8Qc]<ZSc]\Ui:K;8;ZC92:UD]:LZ8mYBUZXL^U]<1ICHK3;NCI3CHAXDM:AgI3K8:E
12RYQQ98W3P=009BjRBcZC@BDGJ4LWP4_\4Ti1@YVbM8:E98Y;J;Ck6FfFgb>G@RGF883[L;;8=[
L3SPL\_m]bU\Ye]QU^UM^^4TZ<5CX@0RBElYeU^^LZdE^Ye]W5URTX_U^j4Th]WR<Uk4T?]^dIBM
;MA9NI98QI:g98O2W2`lfCAVbM0C2c;;19<C18CMk>1Y:H29Z;9jKYk@AYII989Z;_;JC;M;;;1Y
IM9FG9NI98=[;cj:=[;Aj:c;;19AMIJM[M;[LYK:KH2@RT^k\1K00:ebBFi8:7;KC;Le989Z;Pk0
c[>0LWP4^j4T@E>`D^c6V0RGF2RP03[HWkKIKMYKI1iL7[L;37kKO3PPDUY`6V`Qn4TZU5_d5Ym<
VbLW=<QFA@VFM220KH3C8DUjC0NEiVFjFfYBGiV6JFM220Pj0PPL>0O2H:H2]J@T\hUUP<]\4TXU
UPl^\4Th5V\4Ti5Vj4T91@h8C0fP21HJeI?Q1ChEPcM[Y][S4VH5T4m9<Q4iA;;M7:J3[LAYAO[K
dU4]\V=\eU]deUb=\cU^UE^\4TcM[Y9;BFlbRh568;1iM4]\8LCi>KH2`QnFhVGX6FjBgb:Gg>DD
>Ff8;19AMiM0Q;;19NG9NQ9;1INGINQ9;1Qb]\`U]QM\U=Uk4T=<Q9<Q9eY35UhUUT5_YLW=0HJ^
c6HAL7CHA4TGE^Y1`Mf`4f`4:4P9e9RWP4^^4_YLWP<Y>albB@2GGVgD^c68A:eb2Gf>dgjfiBgQ
Rbab6@abf`>febB@RGF2blfBZFFl8;1YCI98Mj:YJIa;M8A:766092L800N7@lfbHbB@VgF6CF2B
W^bHbB@6CF2BRD><<00>400_3`EjDF2blf263M2BTbQQ10`Q00hM0b2GYCIAWPa@RD><<00>400_
3`F`lbB@63M2BTbQQ1`[:gdBWC1Rba0a;;\UD14>YKJY32BVnfcjbYBGiRBhjBj00IZKgI3CH2=j
CU:8C[>k9<19EO:8MJ;S989jC19AM9AO309bk0LUYUUP<_[4^^T\Qa]VV\8AV6@@FDW`4PB]\TQk
\Q=4ZB1`VnFbVVi5UVEWP0PYU\\4TT=_\4TiU5A[>1IB0C1]27;KCCMT802GM4:Pk\152P6IJ9K?
KZEMYL;;I[kH;;8Y:B8:E98UCbF7ZbDH2C09KN79<19EA29Z;7jKDX\m]SM]Xd\^4[\4TVQT=_\4
TViEI98XIR5c;;BTb188;ZCf0;:C4TP441100@DHIa;M;Cb2BE000000=c\bB@JVGAcjBTbB@8F`
\^2T800gQ9<QX`abfb6Fi2BgFfk2b`:WQ5TZ<5XChHISYLWPL\\==M9FeI?=[;aj>1iHI3cZ>kIN
g9873NEMfCcjb[^C@>Ff@TZcNRfFJFGRdMf`48AP31A9AMYH07;KCSHUUPL\\QIUUPL\\QGUUPL<
8BIAR033gI3VPX@iXL4TQU]\9I3c`2BEV24>k9KC31iEAJBIR`MT>=988UJI:7AiH8;JVHal^Bdb
B@2gD4T`I?Q[;MKIaC@d9K0MbM@cjb\ZcN@cjBTZcN\Q9\X>98KjK93gI3K004YQe]TU=U;:=[>1
Q61dZ1af8AM1\9VbMf`4:40\]P<YC5T=eZ^\Y_U\YaV>gc2BZRdR881A@45d]\=\bm\U5T_E^PD^
UIMXMCKI_SPDUY0_JBY:B1IKe98KZEM10BdW2bVnFb@DTUP\]^<=I98K[;9KFI98K[;c:;1IKRdD
2bR0bT9eXP\=hCD>jbTjFhFGjfdiNF@B5f0C0P?E\U108Af0CH2C2MIJfcW:fb:7BGi6fa^F@BET
88OZHP4E^Qi@[cinFiRbW:fbP=m]eM^UUUPlYR16Di:ggNGF2bfjB\bB@fVI=UP\8`4FDW\1FDV0
110>dg2W=M^W9E@@0WJNW;M;KKMiAUkK_;8O[L1iDc3LX_5>1Y:C1N500`V@R0CXCHKMYACi>1IK
MYAM9J3[KX>kYIM9J332BDZR]eU61@MfC@Rd`Pb5TTm]UM^^mTd5Tgm]bM]Q<TPD5`Rj48C0HEQ;
I\<WSDQ=PG1HE08AP9<9dUYAbnFj2BZR419AO;MAAF22Q[;ak:K[;a;;1IKHNGIKM9LM9I3SK]]^
HGCI3CP9\8FTB]\TQXd\\XIM1=c\d<bR]aDf`4VP9\X>1C0HA`R88AJHM3^c6f`6250nDhFFgZbM
f`4J5KP]E7YZAMYAUKHL7Y[>19EM9E;;NYk>:fjJFM2BZjBQFGcJfb:gMf`4V@cZC@B4P=<Q94_\
HNe1Pk\Q9XMe98KZEJedF6^c6D80AQSE>\<KKIMKM1YIU31IHM;I1YL;KH9;8KKIMScU^b==2Bc:
ggfF@Jfdbfb2BEP]I?YZAMYC;kMKJIMKMAY8WjKUCX@AbB@:BAVbMf`4d9T^YL7YZ;O:L;[KA9MI
AA>eg0jbVFFgdUD]\hY8Ci>K0XH[[ICi>19EP2]^V5UR]^V=5hD3[M;;:Y;;19<I98Y[;IKIM;;1
YH[[IP15^`]\^U\X\]^T^U5?IAaF7f`6V`4R2C[KBgd6FfVFmFF@BGdFV]=\Y98=[L33EI:XCXIC
i>JVXQ\Y>Rd`jFbXL\Q98:l\UU^P<\P4^bm]`m]c=\\5Tg5]UQdm]Pl]`]<1IH1YK;C@JgdF6jBG
jB@ZbD`W:fbP1U]\m]S=\d]\EM^UE^F=]UQXlYR1f4dUHU5aSi=Uk\1R2MY;MIHM;I1iKQKI<]d5
Td5=UKIN7T^X987[L;39cf@@6Fg4T]=\Y10XMfcVJEGjdb4U]U5=;;19E=Z;KKIMKMA:;19N`6V`
R`W2gbLW=\Q=DX5m8XC;RcU^[=Uk\1IKJDWmd94Tc]\UY>nDaF6TZY]]U5UYL7JdW0T:0T\QU^QU
:W2gJJkZ>VF@F4gaRjDRLZ_9M52dU?5^U10%
hS@h7`_`0>eljFj6Fl6CHjbY>FgjBSjFjl1AJ0DPC=_^U>XHMiD7[K0N0l1KJ0DP?h10W35h3Z06
0c7VA2HCO:A[:C;:8WjKU;MQ:K[kLgI3KHBK:DOZDY:8WZ>kiDO[LY[@3kLCkHWk>KH37jCMjDY:
8MJ?SI=Qi>KH3QZDOj@;:A[ZD;:8CZKWKIU;MWjKUcMf`4JeP:E@VFF2bebB@RGF2blZC@VDWBeR
NdR:eMf`4:dRNdTjd6V`4JdW:E@VFMfcH2BZnD@jdF6C@BdWf`4V`4>EGNdbBGDVFF2BlVbM2beZ
cNVfF6cMf`4VP<mY?5Z=<Q9<Q9L:`ebB@VgD^C@VDS2Bl2BOfC@VG@BETFDW2bRReTBE@FDWBdMf
`4VP9L:QJMY;:Gk:S9;1INCa6V0C8A;j@AiJCi>1IBL]m\Ua4TD590`6V`4\X>UXk0W20RW=<Q9\
8PC9AO[K;k>KH2;ZC2bTjfi0`600PZLW=<1@@>EGVDg>Gj6FfbFDVDg>7>5bB@jDF2BAVDg>gbX8
C98;ZC9:80gI30P2]^RE\\]\Cm]bU^kH2]R=<Q9<]\4ThU500V`inFiBgbBFM2BQndWbdR6DW^c6
V@QP=H2UJAQJA3:EKH2L>PmTZB]Z5MW=<Q9<Q61P?10V`Yl8<]]<V\4Th=UkhDMiA;3Ial0V`TJD
@RGOVG@BET`Y4Zeadf2V71iD25T5a3WkKU;M@S6DV>eR2bRjT=P5a6HEM:EC:C1iLO[Lh>KH2ChD
B4`R885JM538Mga600PZLW=<1@@HBT>X@[[HhD8;P2]^RE<:bD2bR880gI3K8D0hDYKHU;ME10LZ
S5]UU\eU]U5T5e9>Ej66g10XD3[K9kKKKJeKIEi>K@[H3<=:GM2bTj40C8I3;M3[>1iDM9A3;M3k
>KH252f093g:<kZ>k9<gI3C@S0001YLeI?WZ;UZC9::Ck:SI:g989KHYSY][j\WT=\dAifeM2Bb0
ZcNVF@FDWL7L:MJI_;A3;MRBb6FjTUPdYY\Q9\X>AY6Fg0^c6f`RjDRLZ_E>Q2MI3KhDT>`TjVUa
6>eg:7@QFGa`6>eg0DZQe]T1f`Yn6PCU^QE>#
9:@h7`2603hDc[KYKHaK<QY;WjHM[;=ZKYc7dgoooo7h5U01]Q3`02eg2gj2gRbfbffi<X\U]_M<
9JJW;LIKHcC0?26`Y000R12@<`YVgiBgbfFGNDinfkf`YVgiB7>DfnfiFf0nP2P1l1Sloooo1\6=
@@Kh0H@IkIO[LC;MAKK2hAPC100L84P390>eg:Gj2EfFgijbTjfiFFiBg6>eg:Gj05JM5[HIKIKH
3WjKU3XD3[K9kKKKJeKIKH3W2PCU^QE^d9187198i00%

claudio@dial.eunet.ch, Claudio Nieder, Kanalweg 1, CH-8610 Uster, Switzerland
Technical Details
Message-ID: <DKBF0M.L82@eunet.ch>
Path: arc1-ca.pugleaf.net!dial.eunet.ch!claudio

Show Full Headers
Complete Article Headers
Newsgroups: comp.lang.oberon
Path: arc1-ca.pugleaf.net!dial.eunet.ch!claudio
From: claudio@dial.eunet.ch (Claudio Nieder)
Subject: Coroutines for Oberon [01/01] (long)
Message-ID: <DKBF0M.L82@eunet.ch>
Sender: usenet@eunet.ch
Organization: Silicon Graphics, Inc.  Mountain View, CA
Date: Thu, 28 Dec 1995 21:14:45 GMT