summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Zimmerman <alan.zimm@gmail.com>2017-11-17 23:23:16 +0200
committerAlan Zimmerman <alan.zimm@gmail.com>2017-11-17 23:23:16 +0200
commite764d986d2050d84407e6989f0bd38fc1c677134 (patch)
tree75db9e89149b482b2c1ddb224f2ae577a8476bd6
parent0cd0c39fc7884a8e26d1e3d43c7d9243359d51da (diff)
downloadhaskell-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.in1
-rw-r--r--compiler/hsSyn/HsInstances.hs36
-rw-r--r--compiler/hsSyn/HsInstances.hs-boot18
-rw-r--r--compiler/hsSyn/HsInstances2.hs119
-rw-r--r--compiler/hsSyn/HsInstances2.hs-boot28
-rw-r--r--compiler/hsSyn/HsSyn.hs1
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