[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