From: Tanaka Akira Date: 2002-11-23T16:24:32+09:00 Subject: [ruby-dev:18931] Re: internal/external iterator (Re: Re: Enumerable#zip) In article <1037921961.820918.11729.nullmailer@picachu.netlab.jp>, matz@ruby-lang.org (Yukihiro Matsumoto) writes: > map$B$H$+(Breduce$B$H$+$O$J$s$H8F$V$s$G$7$g$&$M!#FCJL$JMQ8l$O$J$$!)(B $B9b3,4X?t$H$$$&MQ8l$r;W$$=P$7$^$7$?!#(B > $B$&!<$s!"$J$s$H$J$/!VCM$KBP$7$FL54X?4$G$J$$$b$N!W$H$$$&$N$O!"(B > $B$D$^$j!V(BRuby$B$N%$%F%l!<%?!W$$$$$+$($k$H!V(BRuby$B$@$1$,%$%F%l!<%?(B > $B$H8F$s$G$$$k$b$N!W$G!"(BRuby$B$N%$%F%l!<%?(B(each)$B$,FbIt%$%F%l!<%?(B > $B$G$"$k$,$f$($K!"$=$l$i$bFbIt%$%F%l!<%?$H8F$P$l$F$$$k$@$1!"$H(B > $B$$$&62$$9M$($,Ib$+$s$G$7$^$C$?!#(B (Iteration Abstraction in Sather $B$G(B)Sather $B$,2~A1$7$?$H$5$l$k(B CLU $B$N(B 3$B$D$NLdBj$N$&$A!"(BIterator arguments are loop invariant $B$H$$$&$N$O!"$h!<(B $B$9$k3F7+$jJV$7Kh$KJQ$o$kCM$r%$%F%l!<%?$KEO$;$k$H$$$&OC$J$s$G!"(BSather $B$b$=$&$$$&CM$K6=L#$r;}$D$b$N$r%$%F%l!<%?$H8F$s$G$$$k$h$&$K;W$$$^$9!#(B $B$9$/$J$/$H$b(B Ruby $B$N(B yield $B$NCM(B($B$J$$$7(B Smalltalk $B$N%V%m%C%/!"(BScheme $B$N(B $B%/%m!<%8%c$NJV$jCM(B)$B$KBP1~$9$k$b$N(B(Hot argument)$B$O$"$j$^$9!#%$%F%l!<(B $B%?(B(xxx!)$B<+?H$NJV$jCM$H$$$&$N$O$J$$$h$&$G$9$,!#(B $BO@J8Cf$G(B Hot argument $B$r;H$C$F$$$k$N$O(B... while!, set!, sieve! $B$G!"(B set! $B$,(B Array#fill { ... } $B$KBP1~$9$k$+$J(B? > $B$=$l$@$H;d$,:#$^$G9M$($F$?FbIt$H30It$N:9$C$F8@$&$N$O$^$9$^$9(B > $B0UL#$,$J$$$G$9$h$M$(!#(B $B5-=R%9%?%$%k$N0c$$$O87A3$H$7$F$"$k$o$1$G!"$=$N0c$$$rG'<1$9$k$N$,I,MW$J(B $B$N$O3N$+$G$9!#$V$D$.$j%9%F!<%H%^%7%sIw%$%F%l!<%?$H%3!<%k%P%C%/Iw%$%F%l!<(B $B%?$H8F$S$^$9$+!#(B $B$G$b!"CM$N07$$$K4X$7$F$OA0ED$5$s$HF1MM$K!"4pK\E*$K$OJL$NOC$@$H;W$$$^$9!#(B $B$?$@!"$J$<$+Aj4X4X78(B($B$V$D$.$j%9%F!<%H%^%7%sIw%$%F%l!<%?$OCM$r$"$^$j07(B $B$o$J$$(B)$B$,$"$C$F$=$NM}M3$OFf$@!"$H$$$&$"$?$j$+$J$!!#(B -- [$BEDCf(B $BE/(B][$B$?$J$+(B $B$"$-$i(B][Tanaka Akira] $B!V$U$($m(B! $B$o$+$a$A$c$s:n@o$G$9$(C"=$B!W(B(Little Worker, $B7KM7@84](B)