shithub: MicroHs

Download patch

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 }
--