Pickler CombinatorsとかEmbedded Interpretersとか
の話がいつの間にかLtUで流行っていたらしい。
http://lambda-the-ultimate.org/node/2243
http://lambda-the-ultimate.org/node/552
要するに、一般に「型τを与えられてから、τ型の値を受け取る/返す」ような関数をMLでどう実装するか、という話。(Cf. http://d.hatena.ne.jp/sumii/20060130/1138597161)
私の知る限り、この手の話はType-Directed Partial EvaluationをMLでどう実装するかという問題に端を発して、(Danvyによれば)Filinskiが最初に"TDPE Combinators"を提案したらしい。Danvyも論文を書いている。Danvyの学生だったYangも独立に提案したそうで。
私も卒論が終わってTDPEの論文を読み、MLでどうやって実装するか悩んでいたらDanvyのpretty printer combinatorsを紹介され、それを見てTDPEを実装してDanvyにメールしたら「君で3人目だ」と言われました。つまり二番煎じどころか三番煎じでした(というかDanvy自身もいたので四番煎じ)。本当にありがとうございました。