https://randomfacts.club/2 から文脈を拾い起してみたもの。書き起こしではないので、鹿野の勘違いなどによる間違いが含まれている可能性があります。
- 細切れにするのって、ある種のCPS変換ではないのでしょうか(はまじさん)
- Pythonで「awaitメソッドを細切れにする」のは、継続渡し形式に変換しているのと同じでは、という質問(鹿野)
- やっていることはCPS変換そのものだと思うが、「CPS変換」と呼ぶのが憚られて、何か別の名前があるのではないかと考えた(もり)
- 実際、質問で「ある種の」ってつけたのは、本当の継続ではない、つまりスタックっぽくないと思ったから(はまじ)
- この場合、CPS変換で渡される継続は、スケジューラに相当するのかな(まめ)
- コンパイラ視点だと、巨大なswitch文が作られていて、awaitを呼び出した単位で分かれている。CPS変換では、それぞれの関数を独立して捉えることになる。確かに、同じコンテキストを共有しているという意味ではCPSそのものだなと思った(もり)
- RubyのiteratorもPythonのgeneratorもコルーチンっぽいが、それはあってる?(κeen)
- Pythonのgeneratorは、常にスタックがあって、実行が止まっているので、対称コルーチンではない。(もり)