概要 今回はHaskellerであれば必ず遭遇するであろう「コールバック関数にliftIOが適用できない」という問題を解決するパッケージ、unliftioを紹介したいと思います。 unliftioはモナド変換子に関するパッケージ コールバック関数IO aをMonadUnliftIO m => m aにしてくれる 導入は簡単 一部の変換子(StateT, WriterT)には意図的に対応していない unliftioはモナド変換子に関するパッケージ ライブラリを見れば一目瞭然なのですが、unliftioはモナド変換子に関するパッケージです。しかし、提供している関数は一見すると既存の関数にliftIOを適用しただけのようにみえます。 ここではreadFileを例にあげてみましょう。