1
unsafeDupablePerformIOとaccursedUnutterablePerformIOの違いは何ですか?
私はハスケル図書館の制限付きセクションをさまよっていて、次の2つの卑劣な呪文を見つけました。 {- System.IO.Unsafe -} unsafeDupablePerformIO :: IO a -> a unsafeDupablePerformIO (IO m) = case runRW# m of (# _, a #) -> a {- Data.ByteString.Internal -} accursedUnutterablePerformIO :: IO a -> a accursedUnutterablePerformIO (IO m) = case m realWorld# of (# _, r #) -> r 実際の違いは、ちょうど間のようですrunRW#し、($ realWorld#)しかし、。私は彼らが何をしているのかについていくつかの基本的な考えを持っていますが、私はそれらを重ねて使用することの本当の結果は得ていません。誰かが違いを教えてくれませんか?