summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gf.cabal3
-rw-r--r--src/compiler/GF/Command/Interpreter.hs4
-rw-r--r--src/compiler/GF/Interactive.hs6
-rw-r--r--stack-ghc7.10.3.yaml11
4 files changed, 23 insertions, 1 deletions
diff --git a/gf.cabal b/gf.cabal
index 014a2feea..0076e7638 100644
--- a/gf.cabal
+++ b/gf.cabal
@@ -83,6 +83,9 @@ Library
mtl,
exceptions,
fail,
+ -- For compatability with ghc < 8
+ -- We need transformers-compat >= 0.6.3, but that is only in newer snapshots where it is redundant.
+ transformers-compat,
ghc-prim
hs-source-dirs: src/runtime/haskell
diff --git a/src/compiler/GF/Command/Interpreter.hs b/src/compiler/GF/Command/Interpreter.hs
index bcb15d238..d1fd65a54 100644
--- a/src/compiler/GF/Command/Interpreter.hs
+++ b/src/compiler/GF/Command/Interpreter.hs
@@ -11,6 +11,9 @@ import GF.Infra.UseIO(putStrLnE)
import Control.Monad(when)
import qualified Data.Map as Map
+import GF.Infra.UseIO (Output)
+import qualified Control.Monad.Fail as Fail
+-- import Control.Monad.State (StateT)
data CommandEnv m = CommandEnv {
commands :: Map.Map String (CommandInfo m),
@@ -22,6 +25,7 @@ data CommandEnv m = CommandEnv {
mkCommandEnv cmds = CommandEnv cmds Map.empty Map.empty
--interpretCommandLine :: CommandEnv -> String -> SIO ()
+interpretCommandLine :: (Output m, TypeCheckArg m) => CommandEnv m -> String -> m ()
interpretCommandLine env line =
case readCommandLine line of
Just [] -> return ()
diff --git a/src/compiler/GF/Interactive.hs b/src/compiler/GF/Interactive.hs
index b68a1bc2f..c292fe944 100644
--- a/src/compiler/GF/Interactive.hs
+++ b/src/compiler/GF/Interactive.hs
@@ -38,6 +38,9 @@ import GF.Server(server)
#endif
import GF.Command.Messages(welcome)
+import GF.Infra.UseIO (Output)
+-- Provides an orphan instance of MonadFail for StateT in ghc versions < 8
+import Control.Monad.Trans.Instances ()
-- | Run the GF Shell in quiet mode (@gf -run@).
mainRunGFI :: Options -> [FilePath] -> IO ()
@@ -131,7 +134,8 @@ execute1' s0 =
"dt":ws -> define_tree ws
-- ordinary commands
_ -> do env <- gets commandenv
- interpretCommandLine env s0
+ -- () env s0
+ -- interpretCommandLine env s0
continue
where
continue,stop :: ShellM Bool
diff --git a/stack-ghc7.10.3.yaml b/stack-ghc7.10.3.yaml
index a64e4e614..0761b54af 100644
--- a/stack-ghc7.10.3.yaml
+++ b/stack-ghc7.10.3.yaml
@@ -1 +1,12 @@
resolver: lts-6.35 # ghc 7.10.3
+
+extra-deps:
+- happy-1.19.9
+- alex-3.2.4
+- transformers-compat-0.6.5
+
+allow-newer: true
+
+flags:
+ transformers-compat:
+ four: true \ No newline at end of file