13

Real World Haskellでは、コンビネータを次のように説明しています。

Haskell では、他の関数を引数として取り、新しい関数をコンビネータとして返す関数を参照します。

そして後で、maybeIO関数はコンビネータであり、その型シグネチャは次のようになると述べています。

maybeIO :: IO a -> IO (Maybe a)

しかし、私が見ることができるのは、それmaybeIOが IO モナドでラップされた値を取り、IO モナドで値を返す関数であるということだけです。では、この関数はどのようにしてコンビネータになるのでしょうか?

4

3 に答える 3