ref: 603d55ac8401d2361873b6ae1b493c4a5579fdcf
parent: 07d3077a0836ba741ed37f0397045e4a38deefee
author: Lennart Augustsson <lennart.augustsson@epicgames.com>
date: Sun Feb 4 06:46:30 EST 2024
Make interactive gmhs work a little again.
--- a/ghc/PrimTable.hs
+++ b/ghc/PrimTable.hs
@@ -205,11 +205,14 @@
cops :: [(String, Any)]
cops =
- [ comb "fputc" fputc
- , comb "getTimeMilli" getTimeMilli
+ [ comb "getTimeMilli" getTimeMilli
+ , comb "fputc" fputc
, comb "fgetc" fgetc
, comb "fopen" fopen
, comb "fclose" fclose
+ , comb "putb" putb
+ , comb "add_FILE" add_FILE
+ , comb "add_utf8" add_utf8
, comb "free" free
, comb "exp" (fio exp)
, comb "log" (fio log)
@@ -236,6 +239,15 @@
fio2 :: (Double -> Double -> Double) -> (Double -> Double -> IO Double)
fio2 f = \ x y -> return (f x y)
+
+ add_FILE :: Handle -> IO Handle
+ add_FILE h = return h
+
+ add_utf8 :: Handle -> IO Handle
+ add_utf8 h = do hSetEncoding h utf8; return h
+
+ putb :: Int -> Handle -> IO ()
+ putb c h = hPutChar h (chr c)
fputc :: Int -> Handle -> IO Int
fputc c h = hPutChar h (chr c) >> return 0
--
⑨