minus1216
unsafePerformIO は禁断だとか型安全性を壊すとかヤバいとかいう話はよく見かけるのですが、実際に`unsafePerformIO` が使われる場面ってどんなのがあるのでしょうかunsafePerformIO は禁断だとか型安全性を壊すとかヤバいとかいう話はよく見かけるのですが、実際に`unsafePerformIO` が使われる場面ってどんなのがあるのでしょうかIO 値関数が純粋な関数と思えるようになった、みたいな時に、 IO 関数を純粋関数に変換するためにも使える気がします。 vector パッケージの Data.Vector.Storable モジュールとか bytestring パッケージとかが好例ですが、 bytestring なんかは unsafePerformIO よりもっと危険な関数を使っているので、昔はよくバグっていたみたいです。stdin, stdout, stderr :: Handle の実装でも使われていますね.