[Git][ghc/ghc][wip/T25968] Move Data ModuleName instance to Language.Haskell.Syntax.Module.Name

Ben Gamari pushed to branch wip/T25968 at Glasgow Haskell Compiler / GHC Commits: 2ac3bf50 by Ben Gamari at 2025-04-24T13:47:50-04:00 Move Data ModuleName instance to Language.Haskell.Syntax.Module.Name Fixes #25968. - - - - - 2 changed files: - compiler/GHC/Unit/Types.hs - compiler/Language/Haskell/Syntax/Module/Name.hs Changes: ===================================== compiler/GHC/Unit/Types.hs ===================================== @@ -96,7 +96,7 @@ import GHC.Utils.Misc import GHC.Settings.Config (cProjectUnitId) import Control.DeepSeq (NFData(..)) -import Data.Data +import Data.Data (Data(..)) import Data.List (sortBy) import Data.Function import Data.Bifunctor @@ -117,12 +117,6 @@ data GenModule unit = Module } deriving (Eq,Ord,Data,Functor) -instance Data ModuleName where - -- don't traverse? - toConstr _ = abstractConstr "ModuleName" - gunfold _ _ = error "gunfold" - dataTypeOf _ = mkNoRepType "ModuleName" - -- | A Module is a pair of a 'Unit' and a 'ModuleName'. type Module = GenModule Unit ===================================== compiler/Language/Haskell/Syntax/Module/Name.hs ===================================== @@ -3,15 +3,26 @@ module Language.Haskell.Syntax.Module.Name where import Prelude import Data.Char (isAlphaNum) +import Data.Data import Control.DeepSeq import qualified Text.ParserCombinators.ReadP as Parse import System.FilePath import GHC.Data.FastString +import GHC.Utils.Misc -- | A ModuleName is essentially a simple string, e.g. @Data.List@. newtype ModuleName = ModuleName FastString deriving (Show, Eq) +instance Data ModuleName where + -- don't traverse? + toConstr _ = constr + where + constr = mkConstr datatype "{abstract:ModuleName}" [] Prefix + datatype = mkDataType "ModuleName" [constr] + gunfold _ _ = error "gunfold" + dataTypeOf _ = mkNoRepType "ModuleName" + instance Ord ModuleName where nm1 `compare` nm2 = stableModuleNameCmp nm1 nm2 View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/2ac3bf50dc7cb11823643b8fcbe8ea6e... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/2ac3bf50dc7cb11823643b8fcbe8ea6e... You're receiving this email because of your account on gitlab.haskell.org.
participants (1)
-
Ben Gamari (@bgamari)