6

Haskellで「ap」モナドを使用する適切な方法は何ですか? 私はこれに似た何かをしたい:

main = (putStr . ap (++) show) "main = (putStr . ap (++) show) "

しかし、「範囲内ではありません: 'ap'」というエラーが表示されます。

"import Control.Monad" を使用しても何も起こりません。で、あげてみました

"ap :: Monad m => m (a -> b) -> m a -> m b" 

次に、「「ap」の型シグネチャには付随するバインディングがありません」というメッセージが表示されます

4

1 に答える 1

10

インポートControl.Monadするとap. ただし、GHC の最新バージョン (7.6.1 以降) を除くすべてのバージョンではControl.Monad.Instances、関数にモナド インスタンスを使用するためにもインポートする必要があります。

または、 に一般化された演算子と、関数でそれを使用するために必要なインスタンスをControl.Applicative提供するインポートできます。<*>apApplicative

于 2013-04-29T17:20:41.973 に答える