最近、MonadCatchIOクラスに関する警告がここに表示されました。
スナップモナドはその一例です。
MonadCatchIOの問題の解決策が、現在のバージョンのSnapでビルドされるWebアプリにどのように影響するのか疑問に思っています。これは、Snap Webappsのフレームワークのアップグレードに大幅な変更が必要になることを意味しますか?
最近、MonadCatchIOクラスに関する警告がここに表示されました。
スナップモナドはその一例です。
MonadCatchIOの問題の解決策が、現在のバージョンのSnapでビルドされるWebアプリにどのように影響するのか疑問に思っています。これは、Snap Webappsのフレームワークのアップグレードに大幅な変更が必要になることを意味しますか?
はい、スナップ 1.0 はモナド制御を使用します。MonadCatchIO を使用するコードは、lifted-base パッケージからControl.Exception.Liftedに簡単に移植できます。
Snap を iteratee スタイルから遠ざけることとモナド制御を組み合わせることで、Snap モナドとその上に持ち上げられたモナドの例外処理に関連するオーバーヘッドが大幅に削減されるはずです。