ref: 7960282b0cc856624b8022817c9073d52e743059
parent: 44dc3008bc938e223f0d4c9a44a1f48f9a1448a7
	author: Lennart Augustsson <lennart@augustsson.net>
	date: Sat Dec 16 09:05:29 EST 2023
	
Add line editing to ghc version.
--- a/Makefile
+++ b/Makefile
@@ -39,12 +39,12 @@
$(CCEVAL) src/runtime/comb.c -o bin/mhseval
# Compile mhs with ghc
-bin/gmhs: src/*/*.hs ghc/*.hs ghc/*/*.hs Tools/convertX.sh
+bin/gmhs: src/*/*.hs ghc/*.hs ghc/*/*.hs ghc/*/*/*.hs
@mkdir -p bin
$(GHC) $(GHCFLAGS) src/MicroHs/Main.hs -main-is MicroHs.Main -o bin/gmhs
# Compile mhs with ghc, with code coverage
-bin/cmhs: src/*/*.hs ghc/*.hs ghc/*/*.hs Tools/convertX.sh
+bin/cmhs: src/*/*.hs ghc/*.hs ghc/*/*.hs
@mkdir -p bin
$(GHC) $(GHCFLAGS) -fhpc src/MicroHs/Main.hs -main-is MicroHs.Main -o bin/cmhs
--- a/ghc/System/Console/SimpleReadline.hs
+++ b/ghc/System/Console/SimpleReadline.hs
@@ -2,9 +2,13 @@
getInputLine,
getInputLineHist
) where
+import qualified System.Console.Haskeline as H
getInputLine :: String -> IO (Maybe String)
-getInputLine _ = error "No getInputLine for ghc"
+getInputLine prompt =
+ H.runInputT H.defaultSettings (H.getInputLine prompt)
getInputLineHist :: FilePath -> String -> IO (Maybe String)
-getInputLineHist _ _ = error "No getInputLineHist for ghc"
+getInputLineHist hist prompt =
+ H.runInputT settings (H.getInputLine prompt)
+  where settings = H.defaultSettings { H.historyFile = Just hist }--
⑨