4
次は、しかし、私はJust x...
線で混乱していますHaskell tutorial結果をMonadにバインドする必要がありますか?
instance Monad Maybe where
return x = Just x
Nothing >>= f = Nothing
Just x >>= f = f x
fail _ = Nothing
の例です。結果はモナドではないでしょうか?私はその行を期待しています
Just x >>= f = Just (f x)
ヒント: 'f'の種類は何ですか? – duplode
@ duplodeのヒントに追加するには、 '> ='があなたの提案通りに実装されていれば、 'flip fmap'と変わりありません。実際、これは '' = 'と' 'fmap'の間のパワーの違いです。 –
つまり、 'f'はすでに' Maybe b'の値、すなわち 'Just(y :: b)'または 'Nothing'を作成しています。そうでない場合、コードは型チェックを行いません。 –