diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2021-01-10 21:18:30 +0000 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-01-23 21:32:47 -0500 |
commit | 8ec6d62aa58ad6f226317696a74fea7756694a4a (patch) | |
tree | 094ac4a037e06a90869ed6a39362ade7c5c33fc6 /compiler | |
parent | 81f0665513d65c2d7e544cbe8adeff4b0d6fdfff (diff) | |
download | haskell-8ec6d62aa58ad6f226317696a74fea7756694a4a.tar.gz |
Track the dependencies of `GHC.Hs.Expr.Types`
Thery is still, in my view, far too numerous, but I believe this won't
be too hard to improve upon. At the very lease, we can always add more
extension points!
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/GHC/Hs/Decls.hs | 2 | ||||
-rw-r--r-- | compiler/GHC/Hs/Expr.hs-boot | 2 | ||||
-rw-r--r-- | compiler/Language/Haskell/Syntax.hs | 14 |
3 files changed, 11 insertions, 7 deletions
diff --git a/compiler/GHC/Hs/Decls.hs b/compiler/GHC/Hs/Decls.hs index f896d0aeba..6633cf657f 100644 --- a/compiler/GHC/Hs/Decls.hs +++ b/compiler/GHC/Hs/Decls.hs @@ -11,7 +11,7 @@ {-# LANGUAGE UndecidableInstances #-} -- Wrinkle in Note [Trees That Grow] -- in module Language.Haskell.Syntax.Extension -{-# OPTIONS_GHC -Wno-orphans #-} +{-# OPTIONS_GHC -Wno-orphans #-} -- Outputable {- (c) The University of Glasgow 2006 diff --git a/compiler/GHC/Hs/Expr.hs-boot b/compiler/GHC/Hs/Expr.hs-boot index 3eb1894e70..0f115387f6 100644 --- a/compiler/GHC/Hs/Expr.hs-boot +++ b/compiler/GHC/Hs/Expr.hs-boot @@ -3,7 +3,7 @@ {-# LANGUAGE UndecidableInstances #-} -- Wrinkle in Note [Trees That Grow] -- in module Language.Haskell.Syntax.Extension -{-# OPTIONS_GHC -Wno-orphans #-} +{-# OPTIONS_GHC -Wno-orphans #-} -- Outputable module GHC.Hs.Expr where diff --git a/compiler/Language/Haskell/Syntax.hs b/compiler/Language/Haskell/Syntax.hs index 9da54cd8ed..510d22afe9 100644 --- a/compiler/Language/Haskell/Syntax.hs +++ b/compiler/Language/Haskell/Syntax.hs @@ -44,11 +44,15 @@ Note [Language.Haskell.Syntax.* Hierarchy] Why are these modules not 'GHC.Hs.*', or some other 'GHC.*'? The answer is that they are to be separated from GHC and put into another package, in accordance with the final goals of Trees that Grow. (See Note [Trees -that grow] in 'Language.Haskell.Syntax.Extension'.) - -We cannot separate them yet, but by giving them names like so, we hope -to remind others that the goal is to factor them out, and therefore -dependencies on the rest of GHC should never be added, only removed. +that grow] in 'Language.Haskell.Syntax.Extension'.) In short, the +'Language.Haskell.Syntax.*' tree should be entirely GHC-independent. +GHC-specific stuff related to source-language syntax should be in +'GHC.Hs.*'. + +We cannot move them to the separate package yet, but by giving them +names like so, we hope to remind others that the goal is to factor them +out, and therefore dependencies on the rest of GHC should never be +added, only removed. For more details, see https://gitlab.haskell.org/ghc/ghc/-/wikis/implementing-trees-that-grow |