[Git][ghc/ghc][wip/kirchner/ast] ttg: move TyConFlavour into Language.Haskell.Syntax.Basic

Fabian Kirchner (@kirchner) gitlab at gitlab.haskell.org
Sun Jun 9 13:00:35 UTC 2024



Fabian Kirchner pushed to branch wip/kirchner/ast at Glasgow Haskell Compiler / GHC


Commits:
f3573f65 by Fabian Kirchner at 2024-06-09T14:59:21+02:00
ttg: move TyConFlavour into Language.Haskell.Syntax.Basic

Progress towards #21592

- - - - -


3 changed files:

- compiler/GHC/Types/Basic.hs
- compiler/Language/Haskell/Syntax/Basic.hs
- compiler/Language/Haskell/Syntax/Decls.hs


Changes:

=====================================
compiler/GHC/Types/Basic.hs
=====================================
@@ -132,7 +132,7 @@ import GHC.Utils.Binary
 import GHC.Types.SourceText
 import qualified GHC.LanguageExtensions as LangExt
 import {-# SOURCE #-} Language.Haskell.Syntax.Type (PromotionFlag(..), isPromoted)
-import Language.Haskell.Syntax.Basic (Boxity(..), isBoxed, ConTag, TopLevelFlag(..), isTopLevel, isNotTopLevel, TypeOrData(..))
+import Language.Haskell.Syntax.Basic (Boxity(..), isBoxed, ConTag, TopLevelFlag(..), isTopLevel, isNotTopLevel, TypeOrData(..), TyConFlavour(..))
 import {-# SOURCE #-} Language.Haskell.Syntax.Expr (HsDoFlavour)
 
 import Control.DeepSeq ( NFData(..) )
@@ -2153,22 +2153,6 @@ data TypeOrConstraint
 *                                                                      *
 ********************************************************************* -}
 
--- | Paints a picture of what a 'TyCon' represents, in broad strokes.
--- This is used towards more informative error messages.
-data TyConFlavour tc
-  = ClassFlavour
-  | TupleFlavour Boxity
-  | SumFlavour
-  | DataTypeFlavour
-  | NewtypeFlavour
-  | AbstractTypeFlavour
-  | OpenFamilyFlavour TypeOrData (Maybe tc) -- Just tc <=> (tc == associated class)
-  | ClosedTypeFamilyFlavour
-  | TypeSynonymFlavour
-  | BuiltInTypeFlavour -- ^ e.g., the @(->)@ 'TyCon'.
-  | PromotedDataConFlavour
-  deriving (Eq, Data, Functor)
-
 instance Outputable (TyConFlavour tc) where
   ppr = text . go
     where


=====================================
compiler/Language/Haskell/Syntax/Basic.hs
=====================================
@@ -2,6 +2,8 @@
 {-# LANGUAGE GeneralisedNewtypeDeriving #-}
 module Language.Haskell.Syntax.Basic where
 
+import Prelude
+
 import Data.Data
 import Data.Eq
 import Data.Ord
@@ -125,3 +127,19 @@ data TypeOrData
   = IAmData
   | IAmType
   deriving (Eq, Data)
+
+-- | Paints a picture of what a 'TyCon' represents, in broad strokes.
+-- This is used towards more informative error messages.
+data TyConFlavour tc
+  = ClassFlavour
+  | TupleFlavour Boxity
+  | SumFlavour
+  | DataTypeFlavour
+  | NewtypeFlavour
+  | AbstractTypeFlavour
+  | OpenFamilyFlavour TypeOrData (Maybe tc) -- Just tc <=> (tc == associated class)
+  | ClosedTypeFamilyFlavour
+  | TypeSynonymFlavour
+  | BuiltInTypeFlavour -- ^ e.g., the @(->)@ 'TyCon'.
+  | PromotedDataConFlavour
+  deriving (Eq, Data, Functor)


=====================================
compiler/Language/Haskell/Syntax/Decls.hs
=====================================
@@ -97,11 +97,10 @@ import {-# SOURCE #-} Language.Haskell.Syntax.Expr
 import Language.Haskell.Syntax.Binds
 import Language.Haskell.Syntax.Extension
 import Language.Haskell.Syntax.Type
-import Language.Haskell.Syntax.Basic (Role, TopLevelFlag, TypeOrData(..))
+import Language.Haskell.Syntax.Basic (Role, TopLevelFlag, TypeOrData(..), TyConFlavour(..))
 import Language.Haskell.Syntax.Specificity (Specificity)
 
-import GHC.Types.Basic (OverlapMode, RuleName, Activation
-                       ,TyConFlavour(..))
+import GHC.Types.Basic (OverlapMode, RuleName, Activation)
 import GHC.Types.ForeignCall (CType, CCallConv, Safety, Header, CLabelString, CCallTarget, CExportSpec)
 import GHC.Types.Fixity (LexicalFixity)
 



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/f3573f65620b17534170bf01136eec1a8f1ef2f6

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/f3573f65620b17534170bf01136eec1a8f1ef2f6
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20240609/d1aaaf5a/attachment-0001.html>


More information about the ghc-commits mailing list