diff options
author | Bodigrim <andrew.lelechenko@gmail.com> | 2023-01-23 20:56:10 +0000 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2023-01-28 17:16:11 -0500 |
commit | 2b62739d7e6cc65f444029f252578f2dddb95ce3 (patch) | |
tree | 4df4fd28ce0e7b05d991fad8922cee4bceacc5fd /compiler | |
parent | 6ea2aa0293aedea2f873b7b5d9cff5e7b9e2f188 (diff) | |
download | haskell-2b62739d7e6cc65f444029f252578f2dddb95ce3.tar.gz |
Assorted changes to avoid Data.List.{head,tail}
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/GHC/CmmToAsm/BlockLayout.hs | 2 | ||||
-rw-r--r-- | compiler/GHC/Core/Opt/Simplify/Utils.hs | 2 | ||||
-rw-r--r-- | compiler/GHC/JS/Make.hs | 7 | ||||
-rw-r--r-- | compiler/GHC/StgToJS/Linker/Linker.hs | 5 | ||||
-rw-r--r-- | compiler/GHC/Utils/Misc.hs | 2 |
5 files changed, 9 insertions, 9 deletions
diff --git a/compiler/GHC/CmmToAsm/BlockLayout.hs b/compiler/GHC/CmmToAsm/BlockLayout.hs index 56afdfb668..ebbbf5bbd3 100644 --- a/compiler/GHC/CmmToAsm/BlockLayout.hs +++ b/compiler/GHC/CmmToAsm/BlockLayout.hs @@ -14,6 +14,7 @@ module GHC.CmmToAsm.BlockLayout where import GHC.Prelude hiding (head, init, last, tail) +import qualified GHC.Prelude as Partial (head, tail) import GHC.Platform @@ -41,7 +42,6 @@ import GHC.Utils.Panic.Plain import GHC.Utils.Misc import Data.List (sortOn, sortBy, nub) -import qualified Data.List as Partial (head, tail) import Data.List.NonEmpty (nonEmpty) import qualified Data.List.NonEmpty as NE import Data.Foldable (toList) diff --git a/compiler/GHC/Core/Opt/Simplify/Utils.hs b/compiler/GHC/Core/Opt/Simplify/Utils.hs index 28b1ebc221..2c1a6e7f76 100644 --- a/compiler/GHC/Core/Opt/Simplify/Utils.hs +++ b/compiler/GHC/Core/Opt/Simplify/Utils.hs @@ -43,6 +43,7 @@ module GHC.Core.Opt.Simplify.Utils ( ) where import GHC.Prelude hiding (head, init, last, tail) +import qualified GHC.Prelude as Partial (head) import GHC.Core import GHC.Types.Literal ( isLitRubbish ) @@ -84,7 +85,6 @@ import GHC.Utils.Panic.Plain import Control.Monad ( when ) import Data.List ( sortBy ) -import qualified Data.List as Partial ( head ) {- ********************************************************************* * * diff --git a/compiler/GHC/JS/Make.hs b/compiler/GHC/JS/Make.hs index fc30d0d915..6dee4cec93 100644 --- a/compiler/GHC/JS/Make.hs +++ b/compiler/GHC/JS/Make.hs @@ -141,7 +141,6 @@ import Control.Arrow ((***)) import Data.Array import qualified Data.Map as M -import qualified Data.List as List import GHC.Utils.Outputable (Outputable (..)) import GHC.Data.FastString @@ -277,21 +276,21 @@ jVar f = UnsatBlock . IS $ do jForIn :: ToSat a => JExpr -> (JExpr -> a) -> JStat jForIn e f = UnsatBlock . IS $ do (block, is) <- runIdentSupply $ toSat_ f [] - let i = List.head is + let i = head is return $ decl i `mappend` ForInStat False i e block -- | As with "jForIn" but creating a \"for each in\" statement. jForEachIn :: ToSat a => JExpr -> (JExpr -> a) -> JStat jForEachIn e f = UnsatBlock . IS $ do (block, is) <- runIdentSupply $ toSat_ f [] - let i = List.head is + let i = head is return $ decl i `mappend` ForInStat True i e block -- | As with "jForIn" but creating a \"for each in\" statement. jTryCatchFinally :: (ToSat a) => JStat -> a -> JStat -> JStat jTryCatchFinally s f s2 = UnsatBlock . IS $ do (block, is) <- runIdentSupply $ toSat_ f [] - let i = List.head is + let i = head is return $ TryStat s i block s2 -- | construct a JS variable reference diff --git a/compiler/GHC/StgToJS/Linker/Linker.hs b/compiler/GHC/StgToJS/Linker/Linker.hs index 99e56efbb6..9c4a077c0b 100644 --- a/compiler/GHC/StgToJS/Linker/Linker.hs +++ b/compiler/GHC/StgToJS/Linker/Linker.hs @@ -84,9 +84,10 @@ import Data.Function (on) import Data.IntSet (IntSet) import qualified Data.IntSet as IS import Data.IORef -import Data.List ( partition, nub, intercalate, group, sort +import Data.List ( partition, nub, intercalate, sort , groupBy, intersperse, ) +import qualified Data.List.NonEmpty as NE import Data.Map.Strict (Map) import qualified Data.Map.Strict as M import Data.Maybe @@ -228,7 +229,7 @@ computeLinkDependencies cfg logger target unit_env units objFiles extraStaticDep (objDepsMap, objRequiredUnits) <- loadObjDeps objFiles let roots = S.fromList . filter isRootFun $ concatMap (M.keys . depsHaskellExported . fst) (M.elems objDepsMap) - rootMods = map (moduleNameString . moduleName . head) . group . sort . map funModule . S.toList $ roots + rootMods = map (moduleNameString . moduleName . NE.head) . NE.group . sort . map funModule . S.toList $ roots objPkgs = map moduleUnitId $ nub (M.keys objDepsMap) when (logVerbAtLeast logger 2) $ void $ do diff --git a/compiler/GHC/Utils/Misc.hs b/compiler/GHC/Utils/Misc.hs index 09111ccc47..af32a679bb 100644 --- a/compiler/GHC/Utils/Misc.hs +++ b/compiler/GHC/Utils/Misc.hs @@ -121,6 +121,7 @@ module GHC.Utils.Misc ( ) where import GHC.Prelude.Basic hiding ( head, init, last, tail ) +import qualified GHC.Prelude.Basic as Partial ( head ) import GHC.Utils.Exception import GHC.Utils.Panic.Plain @@ -129,7 +130,6 @@ import GHC.Utils.Fingerprint import Data.Data import qualified Data.List as List -import qualified Data.List as Partial ( head ) import Data.List.NonEmpty ( NonEmpty(..), last, nonEmpty ) import qualified Data.List.NonEmpty as NE |