コルーチン

http://en.wikipedia.org/wiki/Coroutine
コルーチン

yield っていろんな言語にあるけど、ずいぶん昔からある機能だったんですね。1963年って…。
「協調的処理、イテレータ、無限リスト、パイプなど、継続状況を持つプログラムが容易に記述できる」だそうで、こないだ遊んだパイプはこれだったのか。
cooperative tasks って例えばどんなのさ?ってリンクたどったらマルチタスクにリダイレクトされた。ふむ。
昨日のdiffネタのスクリーンショットにある、(小さくて見えないけど)Testってボタンを押すと押すたびに違うテストをするんだけど、これにyield使ってます。
簡単に使えるし、記憶力いいし、もっかい呼ぶまでじっと待っててくれるし、yield好き。