justinethier / husk-scheme

A full implementation of the Scheme programming language for the Haskell Platform.
http://justinethier.github.io/husk-scheme
MIT License
308 stars 29 forks source link

Build failures with ghc 9.8.1 #225

Open GrumpyOldGandalf opened 10 months ago

GrumpyOldGandalf commented 10 months ago

See below:

`bob@SoftCraft-Prime:~$ cabal install husk-scheme Warning: Unknown/unsupported 'ghc' version detected (Cabal 3.10.1.0 supports 'ghc' version < 9.8): /home/bob/.ghcup/bin/ghc is version 9.8.1 Warning: Unknown/unsupported 'ghc' version detected (Cabal 3.10.1.0 supports 'ghc' version < 9.8): /home/bob/.ghcup/bin/ghc is version 9.8.1 Resolving dependencies... Build profile: -w ghc-9.8.1 -O1 In order, the following will be built (use -v for more details):

Failed to build husk-scheme-3.20. Build log ( /home/bob/.cache/cabal/logs/ghc-9.8.1/husk-scheme-3.20-b1c91834e082eb077e985607add28c1f30cdf64edfecb29d53c1f1d8f621c58f.log ): Configuring library for husk-scheme-3.20.. Preprocessing library for husk-scheme-3.20.. Building library for husk-scheme-3.20.. [ 1 of 17] Compiling Language.Scheme.Types ( hs-src/Language/Scheme/Types.hs, dist/build/Language/Scheme/Types.o, dist/build/Language/Scheme/Types.dyn_o ) [ 2 of 17] Compiling Language.Scheme.Plugins.CPUTime ( hs-src/Language/Scheme/Plugins/CPUTime.hs, dist/build/Language/Scheme/Plugins/CPUTime.o, dist/build/Language/Scheme/Plugins/CPUTime.dyn_o )

hs-src/Language/Scheme/Plugins/CPUTime.hs:28:8: error: [GHC-88464] Variable not in scope: liftIO :: IO Integer -> ExceptT LispError IO Integer Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 28 | t <- liftIO $ System.CPUTime.getCPUTime | ^^^^^^ [ 3 of 17] Compiling Language.Scheme.Parser ( hs-src/Language/Scheme/Parser.hs, dist/build/Language/Scheme/Parser.o, dist/build/Language/Scheme/Parser.dyn_o )

hs-src/Language/Scheme/Parser.hs:374:13: error: [GHC-88464] Variable not in scope: liftM :: ([LispVal] -> LispVal) -> ParsecT String () Identity [LispVal] -> Parser LispVal | 374 | parseList = liftM List $ sepBy parseExpr whiteSpace | ^^^^^ [ 4 of 17] Compiling Language.Scheme.Numerical ( hs-src/Language/Scheme/Numerical.hs, dist/build/Language/Scheme/Numerical.o, dist/build/Language/Scheme/Numerical.dyn_o ) [ 5 of 17] Compiling Language.Scheme.Macro.Matches ( hs-src/Language/Scheme/Macro/Matches.hs, dist/build/Language/Scheme/Macro/Matches.o, dist/build/Language/Scheme/Macro/Matches.dyn_o )

hs-src/Language/Scheme/Macro/Matches.hs:50:25: warning: [GHC-63394] [-Wx-partial] In the use of ‘head’ (imported from Prelude, but defined in GHC.List): "This is a partial function, it throws an error on empty lists. Use pattern matching or Data.List.uncons instead. Consider refactoring to use Data.List.NonEmpty." | 50 | then getData (head lst) is | ^^^^ [ 6 of 17] Compiling Language.Scheme.Util ( hs-src/Language/Scheme/Util.hs, dist/build/Language/Scheme/Util.o, dist/build/Language/Scheme/Util.dyn_o ) [ 7 of 17] Compiling Language.Scheme.Variables ( hs-src/Language/Scheme/Variables.hs, dist/build/Language/Scheme/Variables.o, dist/build/Language/Scheme/Variables.dyn_o )

hs-src/Language/Scheme/Variables.hs:108:12: error: [GHC-88464] Variable not in scope: liftIO :: IO (Data.Map.Map String (IORef LispVal)) -> IO (Data.Map.Map [Char] (IORef a2)) Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 108 | binds <- liftIO $ readIORef $ bindings env | ^^^^^^

hs-src/Language/Scheme/Variables.hs:113:10: error: [GHC-88464] Variable not in scope: liftIO :: IO a -> m a0 Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 113 | v <- liftIO $ readIORef val | ^^^^^^

hs-src/Language/Scheme/Variables.hs:119:13: error: [GHC-88464] Variable not in scope: liftIO :: IO String -> IO [Char] Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 119 | envStr <- liftIO $ printEnv env | ^^^^^^

hs-src/Language/Scheme/Variables.hs:123:22: error: [GHC-88464] Variable not in scope: liftIO :: IO String -> IO [Char] Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 123 | parEnvStr <- liftIO $ recPrintEnv par | ^^^^^^

hs-src/Language/Scheme/Variables.hs:134:16: error: [GHC-88464] Variable not in scope: liftIO :: IO [LispVal] -> IO [LispVal] Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 134 | pxs <- liftIO $ recExportsFromEnv par | ^^^^^^

hs-src/Language/Scheme/Variables.hs:142:12: error: [GHC-88464] Variable not in scope: liftIO :: IO (Data.Map.Map String (IORef LispVal)) -> IO (Data.Map.Map [Char] b0) Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 142 | binds <- liftIO $ readIORef $ bindings env | ^^^^^^

hs-src/Language/Scheme/Variables.hs:154:11: error: [GHC-88464] Variable not in scope: liftIO :: IO (Data.Map.Map String (IORef [LispVal])) -> IO (Data.Map.Map String (IORef [LispVal])) Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 154 | ptrs <- liftIO $ readIORef $ pointers env | ^^^^^^

hs-src/Language/Scheme/Variables.hs:157:12: error: [GHC-88464] Variable not in scope: liftIO :: IO (Data.Map.Map String (IORef LispVal)) -> IO (Data.Map.Map String (IORef a1)) Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 157 | binds <- liftIO $ readIORef $ bindings env | ^^^^^^

hs-src/Language/Scheme/Variables.hs:162:15: error: [GHC-88464] Variable not in scope: liftIO :: IO a10 -> IO a11 Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 162 | x <- liftIO $ readIORef val | ^^^^^^

hs-src/Language/Scheme/Variables.hs:176:12: error: [GHC-88464] Variable not in scope: liftIO :: IO (Data.Map.Map String (IORef [LispVal])) -> IO (Data.Map.Map String (IORef [LispVal])) Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 176 | sPtrs <- liftIO $ readIORef $ pointers sEnv | ^^^^^^

hs-src/Language/Scheme/Variables.hs:177:12: error: [GHC-88464] Variable not in scope: liftIO :: IO (Data.Map.Map String (IORef [LispVal])) -> IO (Data.Map.Map String (IORef [LispVal])) Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 177 | dPtrs <- liftIO $ readIORef $ pointers dEnv | ^^^^^^

hs-src/Language/Scheme/Variables.hs:180:13: error: [GHC-88464] Variable not in scope: liftIO :: IO (Data.Map.Map String (IORef LispVal)) -> IO (Data.Map.Map String (IORef LispVal)) Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 180 | sBinds <- liftIO $ readIORef $ bindings sEnv | ^^^^^^

hs-src/Language/Scheme/Variables.hs:181:13: error: [GHC-88464] Variable not in scope: liftIO :: IO (Data.Map.Map String (IORef LispVal)) -> IO (Data.Map.Map String (IORef LispVal)) Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 181 | dBinds <- liftIO $ readIORef $ bindings dEnv | ^^^^^^

hs-src/Language/Scheme/Variables.hs:221:12: error: [GHC-88464] Variable not in scope: liftIO :: IO Bool -> IO Bool Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 221 | found <- liftIO $ isNamespacedBound envRef namespace var | ^^^^^^

hs-src/Language/Scheme/Variables.hs:322:14: error: [GHC-88464] Variable not in scope: liftIO :: IO (Data.Map.Map String (IORef LispVal)) -> ExceptT LispError IO (Data.Map.Map String (IORef LispVal)) Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 322 | binds <- liftIO $ readIORef $ bindings envRef | ^^^^^^

hs-src/Language/Scheme/Variables.hs:325:16: error: [GHC-88464] Variable not in scope: liftIO :: IO a -> ExceptT LispError IO a Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 325 | v <- liftIO $ unpackFnc a | ^^^^^^

hs-src/Language/Scheme/Variables.hs:398:10: error: [GHC-88464] Variable not in scope: liftIO :: IO (Data.Map.Map String (IORef LispVal)) -> ExceptT LispError IO (Data.Map.Map String (IORef LispVal)) Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 398 | env <- liftIO $ readIORef $ bindings envRef | ^^^^^^

hs-src/Language/Scheme/Variables.hs:401:7: error: [GHC-88464] Variable not in scope: liftIO :: IO () -> ExceptT LispError IO a3 Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 401 | liftIO $ writeIORef a valueToStore | ^^^^^^

hs-src/Language/Scheme/Variables.hs:411:11: error: [GHC-88464] Variable not in scope: liftIO :: IO (Data.Map.Map String (IORef [LispVal])) -> ExceptT LispError IO (Data.Map.Map String (IORef [a6])) Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 411 | ptrs <- liftIO $ readIORef $ pointers envRef | ^^^^^^

hs-src/Language/Scheme/Variables.hs:414:14: error: [GHC-88464] Variable not in scope: liftIO :: IO [a6] -> ExceptT LispError IO [LispVal] Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 414 | val <- liftIO $ readIORef valIORef | ^^^^^^

hs-src/Language/Scheme/Variables.hs:424:11: error: [GHC-88464] Variable not in scope: liftIO :: IO () -> ExceptT LispError IO a5 Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 424 | liftIO $ writeIORef valIORef [] | ^^^^^^

hs-src/Language/Scheme/Variables.hs:448:12: error: [GHC-88464] Variable not in scope: liftIO :: IO (Data.Map.Map String (IORef [LispVal])) -> ExceptT LispError IO (Data.Map.Map String (IORef [LispVal])) Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 448 | env <- liftIO $ readIORef $ pointers envRef' | ^^^^^^

hs-src/Language/Scheme/Variables.hs:452:15: error: [GHC-88464] Variable not in scope: liftIO :: IO [LispVal] -> ExceptT LispError IO [LispVal] Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 452 | ps <- liftIO $ readIORef ps' | ^^^^^^

hs-src/Language/Scheme/Variables.hs:453:9: error: [GHC-88464] Variable not in scope: liftIO :: IO () -> ExceptT LispError IO a8 Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 453 | liftIO $ writeIORef ps' $ ps ++ ptrs | ^^^^^^

hs-src/Language/Scheme/Variables.hs:457:21: error: [GHC-88464] Variable not in scope: liftIO :: IO (IORef [LispVal]) -> ExceptT LispError IO (IORef [LispVal]) Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 457 | valueRef <- liftIO $ newIORef ptrs | ^^^^^^

hs-src/Language/Scheme/Variables.hs:458:9: error: [GHC-88464] Variable not in scope: liftIO :: IO () -> ExceptT LispError IO a7 Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 458 | liftIO $ writeIORef (pointers envRef') (Data.Map.insert (getVarName namespace var') valueRef env) | ^^^^^^

hs-src/Language/Scheme/Variables.hs:514:21: error: [GHC-88464] Variable not in scope: liftIO :: IO Bool -> ExceptT LispError IO Bool Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 514 | alreadyDefined <- liftIO $ isNamespacedBound envRef namespace var | ^^^^^^

hs-src/Language/Scheme/Variables.hs:531:7: error: [GHC-88464] Variable not in scope: liftIO :: IO LispVal -> ExceptT LispError IO LispVal Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 531 | liftIO $ do | ^^^^^^

hs-src/Language/Scheme/Variables.hs:553:11: error: [GHC-88464] Variable not in scope: liftIO :: IO (Data.Map.Map String (IORef LispVal)) -> ExceptT LispError IO (Data.Map.Map String (IORef a4)) Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 553 | env <- liftIO $ readIORef $ bindings envRef | ^^^^^^

hs-src/Language/Scheme/Variables.hs:556:13: error: [GHC-88464] Variable not in scope: liftIO :: IO a4 -> ExceptT LispError IO LispVal Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 556 | v <- liftIO $ readIORef a | ^^^^^^

hs-src/Language/Scheme/Variables.hs:560:21: error: [GHC-88464] Variable not in scope: liftIO :: IO (Data.Map.Map String (IORef [LispVal])) -> ExceptT LispError IO (Data.Map.Map String (IORef [LispVal])) Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 560 | ptrs <- liftIO $ readIORef $ pointers envRef | ^^^^^^

hs-src/Language/Scheme/Variables.hs:567:34: error: [GHC-88464] Variable not in scope: liftIO :: IO LispVal -> ExceptT LispError IO LispVal Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 567 | (Just valueRef) -> liftIO $ do | ^^^^^^

hs-src/Language/Scheme/Variables.hs:573:26: error: [GHC-88464] Variable not in scope: liftIO :: IO LispVal -> ExceptT LispError IO LispVal Suggested fix: Perhaps use ‘liftA2’ (imported from Prelude) | 573 | Nothing -> liftIO $ do | ^^^^^^ [13 of 17] Compiling Paths_husk_scheme ( dist/build/autogen/Paths_husk_scheme.hs, dist/build/Paths_husk_scheme.o, dist/build/Paths_husk_scheme.dyn_o ) Error: cabal: Failed to build husk-scheme-3.20 (which is required by exe:huski from husk-scheme-3.20 and exe:huskc from husk-scheme-3.20). See the build log above for details.