Haskellでアプリケーションファンクターがどのように機能するかをある程度理解していると思います。基本的なデータ型(多分、どちらか...)にそれらを使用しています。しかし、私は次の例でこの質問を見つけました:
withPool pool = bracket (takeConn pool) (putConn pool)
適用可能なスタイルで書き直すことができます:
withPool = bracket <$> takeConn <*> putConn
コンパイルされて実際に期待どおりに機能することに驚きましたが、これに使用されているApplicative Functorとその定義を誰かに教えてもらえますか?
更新:私はそれがどのように機能するかを理解したと思いますが、それがどこで定義されているのかわかりません。