Free MonadPlus調べようとしてtwitter検索してたらGabriel Gonzalezセンセのtweetをみつけたので
I think that the free `MonadPlus` is `FreeT f []` (URL but I haven't proven this
The reason I care about the free `MonadPlus` is that I'm trying to encode the `MonadPlus` laws in Morte
実装してみた。
https://github.com/xuwei-k/FreeT/commit/af11b123df06286c5d83d80afbd8cfc18bb151ff
テスト通ったし、たぶんそうみたい。つまり
- 先日書いたやつ 本物のFree MonadPlus? の論文(Functional Pearl: A Smart View on Datatypes)に載ってたFree MonadPlusはFree Monad TransformerにListを当てはめたものだった?
- Free Monad Transformerは、ちゃんとしたMonad Transformerのようなので、List以外を当てはめても成り立つみたい?
- つまり、smart viewの論文に載っていたMonadPlus以外にも、Free MonadPlusと呼べるものは複数ありえる?
ところで、気がついたら最近blogにMonadの話ばかり書いてるけど大丈夫か・・・