Shakeでtemporary
パッケージを使用したいのですが、欠落している のインスタンスが必要です。Shake がそのようなインスタンスを提供しないのはなぜですか?Action
MonadMask
質問する
135 次
1 に答える
5
2 つの理由があります。
Action
は継続モナドに基づいているため、不可能であり、継続モナドMonadMask
に対して実装することはできません。それが不可能な理由の大まかな理由については、このブログ投稿を参照してください。- 依存するルールが成功するか失敗するかによって選択を行うことができるため、望ましくありません。一方、Shake では、依存するルールの失敗は常に失敗につながるはずです。
ただし、Shake はとで使用できる機能の制限されたバリアントであるビルディング ブロックとして提供しactionFinally
ます。さらに、Shake は と を提供し、これらはパッケージと同じことをいくつか行います。最後に、完全に に参加している場合は、正常に動作します。actionOnException
MonadMask
withTempFile
withTempDir
temporary
IO
liftIO
bracket
于 2015-08-20T17:58:38.657 に答える