Continuation-passing style (継続渡し)、Haskell のリストと差分リストから、あと米田の補題Haskell圏論継続リスト はじめに 前回の投稿から少々考えていたのだが、やや理解が固まったので書いてみる、ただ中身は前回から少しも増えていない。 何を考えていたかというと、リストから差分リストへ変えたことで効率が上がったが、これはたまたまこの場合のみ使えるテクニックなのかあるいは何か背景があるのか?という疑問である。 これの答えはある程度肯定的であって、普通のリストと差分リストの間のような関係がもっと一般的に存在することが分かった、しかもその間を結ぶのが(お気に入りの)米田の補題である、なんと。 つまり、ある種の最適化問題はデータあるいは関数の型を継続渡しスタイルというのに変えるということに帰着していて、かつこれは必ず実行可能である、ということらしい。 元ネタはこ