shithub: MicroHs

Download patch

ref: ddfd7cbc3f0d1c3556e206f838986f61f9805e57
parent: f7409aa51cf64605daecd7b6cdb78885ef344ab6
author: Lennart Augustsson <lennart.augustsson@epicgames.com>
date: Sat Feb 10 13:58:53 EST 2024

Move unsafeInterleaveIO

--- a/lib/System/IO.hs
+++ b/lib/System/IO.hs
@@ -21,7 +21,6 @@
 
   mkTextEncoding, hSetEncoding, utf8,
 
-  unsafeInterleaveIO,
   getTimeMilli,
   openTmpFile,
 
@@ -47,6 +46,7 @@
 import Foreign.C.String
 import Foreign.Marshal.Alloc
 import Foreign.Ptr
+import System.IO.Unsafe
 
 data FILE
 data BFILE
@@ -273,9 +273,6 @@
 
 getTimeMilli :: IO Int
 getTimeMilli = c_getTimeMilli
-
-unsafeInterleaveIO :: forall a . IO a -> IO a
-unsafeInterleaveIO ioa = return (primPerformIO ioa)
 
 openBinaryFile :: String -> IOMode -> IO Handle
 openBinaryFile p m = do
--- a/lib/System/IO/Unsafe.hs
+++ b/lib/System/IO/Unsafe.hs
@@ -1,6 +1,9 @@
-module System.IO.Unsafe(unsafePerformIO) where
+module System.IO.Unsafe(unsafePerformIO, unsafeInterleaveIO) where
 import Prelude()
 import Primitives
 
 unsafePerformIO :: IO a -> a
 unsafePerformIO = primPerformIO
+
+unsafeInterleaveIO :: forall a . IO a -> IO a
+unsafeInterleaveIO ioa = primReturn (primPerformIO ioa)
--