diff options
author | Alan Zimmerman <alan.zimm@gmail.com> | 2017-11-17 23:23:16 +0200 |
---|---|---|
committer | Alan Zimmerman <alan.zimm@gmail.com> | 2017-11-17 23:23:16 +0200 |
commit | e764d986d2050d84407e6989f0bd38fc1c677134 (patch) | |
tree | 75db9e89149b482b2c1ddb224f2ae577a8476bd6 | |
parent | 0cd0c39fc7884a8e26d1e3d43c7d9243359d51da (diff) | |
download | haskell-wip/ttg5-data-one-file-2017-11-17.tar.gz |
Merge HsInstances and HsInstances2wip/ttg5-data-one-file-2017-11-17
-rw-r--r-- | compiler/ghc.cabal.in | 1 | ||||
-rw-r--r-- | compiler/hsSyn/HsInstances.hs | 36 | ||||
-rw-r--r-- | compiler/hsSyn/HsInstances.hs-boot | 18 | ||||
-rw-r--r-- | compiler/hsSyn/HsInstances2.hs | 119 | ||||
-rw-r--r-- | compiler/hsSyn/HsInstances2.hs-boot | 28 | ||||
-rw-r--r-- | compiler/hsSyn/HsSyn.hs | 1 |
6 files changed, 14 insertions, 189 deletions
diff --git a/compiler/ghc.cabal.in b/compiler/ghc.cabal.in index 13c132a6c9..8501306b25 100644 --- a/compiler/ghc.cabal.in +++ b/compiler/ghc.cabal.in @@ -321,7 +321,6 @@ Library PlaceHolder HsExtension HsInstances - HsInstances2 HsPat HsSyn HsTypes diff --git a/compiler/hsSyn/HsInstances.hs b/compiler/hsSyn/HsInstances.hs index a674212c02..1aafacecdb 100644 --- a/compiler/hsSyn/HsInstances.hs +++ b/compiler/hsSyn/HsInstances.hs @@ -14,12 +14,15 @@ module HsInstances where -- UndecidableInstances ? -import {-# SOURCE #-} HsInstances2 () import Data.Data hiding ( Fixity ) import HsExtension import HsBinds import HsDecls +import HsExpr +import HsLit +import HsTypes +import HsPat -- Data derivations from HsBinds --------------------------------------- @@ -67,22 +70,17 @@ deriving instance (DataIdLR p p) => Data (AnnDecl p) deriving instance (DataId p) => Data (RoleAnnotDecl p) -- Data derivations from HsExpr ---------------------------------------- -{- + deriving instance (DataIdLR p p) => Data (SyntaxExpr p) deriving instance (DataIdLR p p) => Data (HsExpr p) deriving instance (DataIdLR p p) => Data (HsTupArg p) deriving instance (DataIdLR p p) => Data (HsCmd p) deriving instance (DataIdLR p p) => Data (HsCmdTop p) -deriving instance (DataIdLR p p) => Data (MatchGroup p (LHsExpr p)) -deriving instance (DataIdLR p p) => Data (MatchGroup p (LHsCmd p)) -deriving instance (DataIdLR p p) => Data (Match p (LHsExpr p)) -deriving instance (DataIdLR p p) => Data (Match p (LHsCmd p)) -deriving instance (DataIdLR p p) => Data (GRHSs p (LHsExpr p)) -deriving instance (DataIdLR p p) => Data (GRHSs p (LHsCmd p)) -deriving instance (DataIdLR p p) => Data (GRHS p (LHsExpr p)) -deriving instance (DataIdLR p p) => Data (GRHS p (LHsCmd p)) -deriving instance (DataIdLR p p) => Data (StmtLR p p (LHsExpr p)) -deriving instance (DataIdLR p p) => Data (StmtLR p p (LHsCmd p)) +deriving instance (DataIdLR p p,Data body) => Data (MatchGroup p body) +deriving instance (DataIdLR p p,Data body) => Data (Match p body) +deriving instance (DataIdLR p p,Data body) => Data (GRHSs p body) +deriving instance (DataIdLR p p,Data body) => Data (GRHS p body) +deriving instance (DataIdLR p p,Data body) => Data (StmtLR p p body) deriving instance (DataIdLR p p) => Data (ParStmtBlock p p) deriving instance (DataIdLR p p) => Data (ApplicativeArg p) deriving instance (DataIdLR p p) => Data (HsSplice p) @@ -102,13 +100,8 @@ deriving instance (DataIdLR p p) => Data (HsOverLit p) -- Data derivations from HsTypes --------------------------------------- deriving instance (DataIdLR p p) => Data (LHsQTyVars p) - -deriving instance (DataIdLR p p) => Data (HsImplicitBndrs p (LHsType p)) -deriving instance (DataIdLR p p) => Data (HsImplicitBndrs p (FamEqn p (HsTyPats p) (HsDataDefn p))) -deriving instance (DataIdLR p p) => Data (HsImplicitBndrs p (FamEqn p (HsTyPats p) (LHsType p))) - -deriving instance (DataIdLR p p) => Data (HsWildCardBndrs p (LHsType p)) -deriving instance (DataIdLR p p) => Data (HsWildCardBndrs p (LHsSigType p)) +deriving instance (DataIdLR p p, Data thing) => Data (HsImplicitBndrs p thing) +deriving instance (DataIdLR p p, Data thing) => Data (HsWildCardBndrs p thing) deriving instance (DataIdLR p p) => Data (HsTyVarBndr p) deriving instance (DataIdLR p p) => Data (HsType p) deriving instance (DataId p) => Data (HsWildCardInfo p) @@ -120,7 +113,6 @@ deriving instance DataId p => Data (AmbiguousFieldOcc p) -- Data derivations from HsPat ----------------------------------------- deriving instance (DataIdLR p p) => Data (Pat p) -deriving instance (DataIdLR p p) => Data (HsRecFields p (LPat p)) -deriving instance (DataIdLR p p) => Data (HsRecFields p (LHsExpr p)) --} +deriving instance (DataIdLR p p, Data body) => Data (HsRecFields p body) + -- --------------------------------------------------------------------- diff --git a/compiler/hsSyn/HsInstances.hs-boot b/compiler/hsSyn/HsInstances.hs-boot deleted file mode 100644 index a942e861b9..0000000000 --- a/compiler/hsSyn/HsInstances.hs-boot +++ /dev/null @@ -1,18 +0,0 @@ -{-# LANGUAGE TypeFamilies #-} -{-# LANGUAGE FlexibleContexts #-} -{-# LANGUAGE FlexibleInstances #-} -{-# LANGUAGE UndecidableInstances #-} -{-# OPTIONS_GHC -fno-warn-orphans #-} -module HsInstances where - -import Data.Data hiding ( Fixity ) -import HsExtension ( DataIdLR ) -import HsBinds -import HsDecls - -instance (DataIdLR p p) => Data (VectDecl p) -instance (DataIdLR pL pR) => Data (HsLocalBindsLR pL pR) -instance (DataIdLR p p) => Data (HsDecl p) -instance (DataIdLR p p) => Data (HsGroup p) -instance (DataIdLR pL pL) => Data (NHsValBindsLR pL) -instance (DataIdLR p p,Data pats,Data rhs) => Data (FamEqn p pats rhs) diff --git a/compiler/hsSyn/HsInstances2.hs b/compiler/hsSyn/HsInstances2.hs deleted file mode 100644 index b0502c84fa..0000000000 --- a/compiler/hsSyn/HsInstances2.hs +++ /dev/null @@ -1,119 +0,0 @@ -{-# LANGUAGE TypeFamilies #-} -{-# LANGUAGE StandaloneDeriving #-} -{-# LANGUAGE DeriveDataTypeable #-} -{-# LANGUAGE FlexibleContexts #-} -{-# LANGUAGE FlexibleInstances #-} -{-# LANGUAGE UndecidableInstances #-} -{-# OPTIONS_GHC -fno-warn-orphans #-} -module HsInstances2 where - --- This module defines the Data instances for the hsSyn AST. - --- It happens here to avoid massive constraint types on the AST with concomitant --- slow GHC bootstrap times. - --- UndecidableInstances ? - -import Data.Data hiding ( Fixity ) - -import {-# SOURCE #-} HsInstances () -import HsExtension -import HsExpr -import HsLit -import HsTypes -import HsPat - --- Data derivations from HsBinds --------------------------------------- -{- -deriving instance (DataIdLR pL pR) => Data (HsLocalBindsLR pL pR) -deriving instance (DataIdLR pL pR) => Data (HsValBindsLR pL pR) -deriving instance (DataIdLR pL pL) => Data (NHsValBindsLR pL) -deriving instance (DataIdLR pL pR) => Data (HsBindLR pL pR) -deriving instance (DataId p) => Data (ABExport p) -deriving instance (DataIdLR pL pR) => Data (PatSynBind pL pR) -deriving instance (DataIdLR p p) => Data (HsIPBinds p) -deriving instance (DataIdLR p p) => Data (IPBind p) -deriving instance (DataIdLR p p) => Data (Sig p) -deriving instance (DataId p) => Data (FixitySig p) -deriving instance (DataIdLR p p) => Data (HsPatSynDir p) - --- Data derivations from HsDecls --------------------------------------- - -deriving instance (DataIdLR p p) => Data (HsDecl p) -deriving instance (DataIdLR p p) => Data (HsGroup p) -deriving instance (DataIdLR p p) => Data (SpliceDecl p) -deriving instance (DataIdLR p p) => Data (TyClDecl p) -deriving instance (DataIdLR p p) => Data (TyClGroup p) -deriving instance (DataIdLR p p) => Data (FamilyResultSig p) -deriving instance (DataIdLR p p) => Data (FamilyDecl p) -deriving instance (DataIdLR p p) => Data (InjectivityAnn p) -deriving instance (DataIdLR p p) => Data (FamilyInfo p) -deriving instance (DataIdLR p p) => Data (HsDataDefn p) -deriving instance (DataIdLR p p) => Data (HsDerivingClause p) -deriving instance (DataIdLR p p) => Data (ConDecl p) -deriving instance DataIdLR p p => Data (TyFamInstDecl p) -deriving instance DataIdLR p p => Data (DataFamInstDecl p) -deriving instance (DataIdLR p p) => Data (FamEqn p (LHsQTyVars p) (LHsType p)) -deriving instance (DataIdLR p p) => Data (FamEqn p (HsTyPats p) (HsDataDefn p)) -deriving instance (DataIdLR p p) => Data (ClsInstDecl p) -deriving instance (DataIdLR p p) => Data (InstDecl p) -deriving instance (DataIdLR p p) => Data (DerivDecl p) -deriving instance (DataIdLR p p) => Data (DefaultDecl p) -deriving instance (DataIdLR p p) => Data (ForeignDecl p) -deriving instance (DataIdLR p p) => Data (RuleDecls p) -deriving instance (DataIdLR p p) => Data (RuleDecl p) -deriving instance (DataIdLR p p) => Data (RuleBndr p) -deriving instance (DataIdLR p p) => Data (VectDecl p) -deriving instance (DataId p) => Data (WarnDecls p) -deriving instance (DataId p) => Data (WarnDecl p) -deriving instance (DataIdLR p p) => Data (AnnDecl p) -deriving instance (DataId p) => Data (RoleAnnotDecl p) -deriving instance (DataIdLR p p) => Data (FamEqn p (HsTyPats p) (LHsType p)) --} --- Data derivations from HsExpr ---------------------------------------- - -deriving instance (DataIdLR p p) => Data (SyntaxExpr p) -deriving instance (DataIdLR p p) => Data (HsExpr p) -deriving instance (DataIdLR p p) => Data (HsTupArg p) -deriving instance (DataIdLR p p) => Data (HsCmd p) -deriving instance (DataIdLR p p) => Data (HsCmdTop p) -deriving instance (DataIdLR p p,Data body) => Data (MatchGroup p body) -deriving instance (DataIdLR p p,Data body) => Data (Match p body) -deriving instance (DataIdLR p p,Data body) => Data (GRHSs p body) -deriving instance (DataIdLR p p,Data body) => Data (GRHS p body) -deriving instance (DataIdLR p p,Data body) => Data (StmtLR p p body) -deriving instance (DataIdLR p p) => Data (ParStmtBlock p p) -deriving instance (DataIdLR p p) => Data (ApplicativeArg p) -deriving instance (DataIdLR p p) => Data (HsSplice p) -deriving instance (DataIdLR p p) => Data (HsSplicedThing p) -deriving instance (DataIdLR p p) => Data (HsBracket p) -deriving instance (DataIdLR p p) => Data (ArithSeqInfo p) -deriving instance Data RecordConTc -deriving instance Data CmdTopTc -deriving instance Data PendingRnSplice -deriving instance Data PendingTcSplice - --- Data derivations from HsLit ---------------------------------------- - -deriving instance (DataId p) => Data (HsLit p) -deriving instance (DataIdLR p p) => Data (HsOverLit p) - --- Data derivations from HsTypes --------------------------------------- - -deriving instance (DataIdLR p p) => Data (LHsQTyVars p) -deriving instance (DataIdLR p p, Data thing) => Data (HsImplicitBndrs p thing) -deriving instance (DataIdLR p p, Data thing) => Data (HsWildCardBndrs p thing) -deriving instance (DataIdLR p p) => Data (HsTyVarBndr p) -deriving instance (DataIdLR p p) => Data (HsType p) -deriving instance (DataId p) => Data (HsWildCardInfo p) -deriving instance (DataIdLR p p) => Data (HsAppType p) -deriving instance (DataIdLR p p) => Data (ConDeclField p) -deriving instance (DataId p) => Data (FieldOcc p) -deriving instance DataId p => Data (AmbiguousFieldOcc p) - --- Data derivations from HsPat ----------------------------------------- - -deriving instance (DataIdLR p p) => Data (Pat p) -deriving instance (DataIdLR p p, Data body) => Data (HsRecFields p body) - --- --------------------------------------------------------------------- diff --git a/compiler/hsSyn/HsInstances2.hs-boot b/compiler/hsSyn/HsInstances2.hs-boot deleted file mode 100644 index 33c7356d41..0000000000 --- a/compiler/hsSyn/HsInstances2.hs-boot +++ /dev/null @@ -1,28 +0,0 @@ -{-# LANGUAGE TypeFamilies #-} -{-# LANGUAGE FlexibleContexts #-} -{-# LANGUAGE FlexibleInstances #-} -{-# LANGUAGE UndecidableInstances #-} -{-# OPTIONS_GHC -fno-warn-orphans #-} -module HsInstances2 where - - -import Data.Data hiding ( Fixity ) -import HsExtension ( DataIdLR ) -import HsExpr -import HsTypes -import HsPat - -instance (DataIdLR p p) => Data (HsExpr p) -instance (DataIdLR p p) => Data (HsTyVarBndr p) -instance (DataIdLR p p) => Data (HsType p) -instance (DataIdLR p p) => Data (LHsQTyVars p) -instance (DataIdLR p p, Data thing) => Data (HsImplicitBndrs p thing) -instance (DataIdLR p p, Data thing) => Data (HsWildCardBndrs p thing) -instance (DataIdLR p p) => Data (ConDeclField p) - -instance (DataIdLR p p) => Data (HsSplice p) -instance (DataIdLR p p,Data body) => Data (MatchGroup p body) - -instance (DataIdLR p p) => Data (Pat p) - -instance (DataIdLR p p,Data body) => Data (GRHSs p body) diff --git a/compiler/hsSyn/HsSyn.hs b/compiler/hsSyn/HsSyn.hs index 54ba278414..36999787e4 100644 --- a/compiler/hsSyn/HsSyn.hs +++ b/compiler/hsSyn/HsSyn.hs @@ -50,7 +50,6 @@ import BasicTypes ( Fixity, WarningTxt ) import HsUtils import HsDoc import HsInstances () -import HsInstances2 () -- others: import Outputable |