Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC
Commits:
-
d99a617b
by Ben Gamari at 2025-04-30T06:36:40-04:00
2 changed files:
Changes:
1 | -{-# OPTIONS_GHC -Wno-orphans #-} -- instance Data ModuleName
|
|
2 | - |
|
3 | 1 | {-# LANGUAGE FlexibleInstances #-}
|
4 | 2 | {-# LANGUAGE DeriveDataTypeable #-}
|
5 | 3 | {-# LANGUAGE DeriveTraversable #-}
|
... | ... | @@ -117,13 +115,6 @@ data GenModule unit = Module |
117 | 115 | }
|
118 | 116 | deriving (Eq,Ord,Data,Functor)
|
119 | 117 | |
120 | --- TODO: should be moved back into Language.Haskell.Syntax.Module.Name
|
|
121 | -instance Data ModuleName where
|
|
122 | - -- don't traverse?
|
|
123 | - toConstr _ = abstractConstr "ModuleName"
|
|
124 | - gunfold _ _ = error "gunfold"
|
|
125 | - dataTypeOf _ = mkNoRepType "ModuleName"
|
|
126 | - |
|
127 | 118 | -- | A Module is a pair of a 'Unit' and a 'ModuleName'.
|
128 | 119 | type Module = GenModule Unit
|
129 | 120 |
... | ... | @@ -3,6 +3,7 @@ module Language.Haskell.Syntax.Module.Name where |
3 | 3 | import Prelude
|
4 | 4 | |
5 | 5 | import Data.Char (isAlphaNum)
|
6 | +import Data.Data
|
|
6 | 7 | import Control.DeepSeq
|
7 | 8 | import qualified Text.ParserCombinators.ReadP as Parse
|
8 | 9 | import System.FilePath
|
... | ... | @@ -12,6 +13,14 @@ import GHC.Data.FastString |
12 | 13 | -- | A ModuleName is essentially a simple string, e.g. @Data.List@.
|
13 | 14 | newtype ModuleName = ModuleName FastString deriving (Show, Eq)
|
14 | 15 | |
16 | +instance Data ModuleName where
|
|
17 | + -- don't traverse?
|
|
18 | + toConstr x = constr
|
|
19 | + where
|
|
20 | + constr = mkConstr (dataTypeOf x) "{abstract:ModuleName}" [] Prefix
|
|
21 | + gunfold _ _ = error "gunfold"
|
|
22 | + dataTypeOf _ = mkNoRepType "ModuleName"
|
|
23 | + |
|
15 | 24 | instance Ord ModuleName where
|
16 | 25 | nm1 `compare` nm2 = stableModuleNameCmp nm1 nm2
|
17 | 26 |