Haskell の "(>>=) Just" の型の意味を教えてください

前提

私は Haskell を学習し始めたところで、根本的なところに気付いておらず、それでおかしな質問をしているのかもしれませんが、どうぞ宜しくお願い致します。

実現したいこと

Haskell で (>>=) Just の型を調べようとしたら、以下のようになりました。しかし、その意味を読み取ることができず行き詰まっています。
初学者の質問で大変すみませんが、ご教示くださると大変ありがたいです。

:type (>>=) Just (>>=) Just :: (Maybe a -> a -> b) -> a -> b

試したこと

(>>=) Just の意味を読み取ろうとして、以下のように試したのですが、やはり行き詰まってしまいました。
最初の2つはそうなるのだろうな、とは想像できたのですが、最後の2つが理解できていません。
(>>=) Justpure :: a -> f a を適用すると、なぜ a -> Maybe a になるのでしょうか?

Just 5 >>= pure Just 5 Just 5 >>= Just Just 5 :type Just >>= pure Just >>= pure :: a -> Maybe a :type Just >>= Just エラーが表示されました。

コメントを投稿

0 コメント