Subscribed unsubscribe Subscribe Subscribe

Functional Programming Meeting 2010

Haskell

土曜日にOleg Kiselyovさんと單中杰(Chung-chieh Shan)さんを囲む会に参加した。会自体は午前中からやっていたけど、所用で昼からの参加となった。

午後の内容はTyped tagless-final interpretations: Lecture notesだった。要約すると簡単な型付きλ計算インタプリタを、HaskellのEDSLとして実装する話で、evalで計算した最終的な値にタグ(異なる型をwrapするために使われる代数的データ型のこと)をなくすのがポイントみたい。

僕の英語力とHaskell力では正確に理解できたのは前半のfirst-orderなところが限界で、後半は集中力が切れてしまった。それでも、代数的データ型ではなく型クラス(Symantics)を使うことで拡張可能な型にしたり、不動点演算子を使って(Serialize.hsのfromTreeExtとSerializeExt.hsのfromTreeExt)拡張した型にも適用できる関数を作る工夫とか、うまく工夫してpartialな関数をtotalな関数にしたりと、面白い点がいくつもあった。

個人的には限定継続の話とかIteratee-based I/Oの話とかProbabilistic programmingとかも聞きたかったんだけど時間が無かった。自分で勉強することにしよう。