関数型プログラミング言語Haskell Part13
■ このスレッドは過去ログ倉庫に格納されています
0819デフォルトの名無しさん
2011/02/08(火) 22:07:13サイト情報ありがとうございます。
>>728の型みたいにFunctorはMonadを含んでいる(機能的にはFunctor⊂Monadだけど)ので
常にMonadはFunctorのインスタンス、ってことなのかな
ただ、実装でそれを強制されてはいない(と思う)ので
より特殊化されているliftMを使ってる方が安心な気がします
ところでポイントフリーを調べていて、W(\x y -> x y y)コンビネータに行き着いたのですが
前に話題になったjoinの型 μ:m (m a) -> m aは、Wの型(a -> a -> b) -> a -> bと対応してるそうですね
(m aは1引数関数と見なせるので(a -> m -> m) -> (a -> m)と見ると型は近い)
ttp://stackoverflow.com/questions/4333864/trick-for-reusing-arguments-in-haskell
>>728の型も眺めてみるとη:a -> m aはK(あるいはKI)コンビネータと対応してるように見えなくもないし
T(fmapやliftM)もなんかのコンビネータと対応してるのかも
■ このスレッドは過去ログ倉庫に格納されています