ref: b35dfd403b5714ad0ba12f7a799318f9c054569c
parent: 9f1cedc551b0edfa8c13d54c2577604c49d9f908
author: Lennart Augustsson <lennart@augustsson.net>
date: Sun Mar 31 15:29:57 EDT 2024
Move getTimeMilli
--- a/MicroHs.cabal
+++ b/MicroHs.cabal
@@ -79,6 +79,7 @@
PrimTable
System.IO.MD5
System.IO.Serialize
+ System.IO.TimeMilli
System.Compress
Paths_MicroHs
autogen-modules: Paths_MicroHs
--- a/ghc/Compat.hs
+++ b/ghc/Compat.hs
@@ -7,8 +7,6 @@
--import Control.Exception
import Data.Char
import Data.Maybe
-import Data.Time
-import Data.Time.Clock.POSIX
--import qualified Control.Monad as M
import Control.Exception
import Data.List
@@ -77,9 +75,6 @@
case r of
Left _ -> return Nothing
Right h -> return (Just h)
-
-getTimeMilli :: IO Int
-getTimeMilli = floor . (1000 *) . nominalDiffTimeToSeconds . utcTimeToPOSIXSeconds <$> getCurrentTime
------- Read --------
--- a/ghc/PrimTable.hs
+++ b/ghc/PrimTable.hs
@@ -5,6 +5,7 @@
import Data.Maybe
import Data.Word()
import System.IO
+import System.IO.TimeMilli
import Unsafe.Coerce
import GHC.Types(Any)
import Foreign.C.String
@@ -14,7 +15,7 @@
--import System.Environment
import System.IO.Unsafe
--import Debug.Trace
-import Compat
+
type AnyType = Any
--- /dev/null
+++ b/ghc/System/IO/TimeMilli.hs
@@ -1,0 +1,7 @@
+module System.IO.TimeMilli(getTimeMilli) where
+import Data.Time
+import Data.Time.Clock.POSIX
+
+getTimeMilli :: IO Int
+getTimeMilli = floor . (1000 *) . nominalDiffTimeToSeconds . utcTimeToPOSIXSeconds <$> getCurrentTime
+
--- a/lib/System/IO.hs
+++ b/lib/System/IO.hs
@@ -21,7 +21,6 @@
mkTextEncoding, hSetEncoding, utf8,
- getTimeMilli,
openTmpFile, openTempFile,
withFile,
@@ -76,7 +75,6 @@
foreign import ccall "fputc" c_fputc :: Int -> Handle -> IO Int
-- foreign import ccall "fwrite" c_fwrite :: CString -> Int -> Int -> Handle -> IO Int
-}
-foreign import ccall "GETTIMEMILLI" c_getTimeMilli :: IO Int
foreign import ccall "closeb" c_closeb :: Ptr BFILE -> IO ()
foreign import ccall "flushb" c_flushb :: Ptr BFILE -> IO ()
@@ -261,9 +259,6 @@
interact :: (String -> String) -> IO ()
interact f = getContents >>= putStr . f
-
-getTimeMilli :: IO Int
-getTimeMilli = c_getTimeMilli
openBinaryFile :: String -> IOMode -> IO Handle
openBinaryFile p m = do
--- /dev/null
+++ b/lib/System/IO/TimeMilli.hs
@@ -1,0 +1,6 @@
+module System.IO.TimeMilli(getTimeMilli) where
+
+foreign import ccall "GETTIMEMILLI" c_getTimeMilli :: IO Int
+
+getTimeMilli :: IO Int
+getTimeMilli = c_getTimeMilli
--- a/src/MicroHs/Compile.hs
+++ b/src/MicroHs/Compile.hs
@@ -18,6 +18,7 @@
import System.IO
import System.IO.MD5
import System.IO.Serialize
+import System.IO.TimeMilli
import System.Process
import Control.DeepSeq
import MicroHs.Abstract
--- a/src/MicroHs/Main.hs
+++ b/src/MicroHs/Main.hs
@@ -24,6 +24,7 @@
import System.Directory
import System.IO
import System.IO.Serialize
+import System.IO.TimeMilli
import System.Process
import Compat
import MicroHs.Instances(getMhsDir) -- for GHC
--
⑨