summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2021-01-10 21:18:30 +0000
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-01-23 21:32:47 -0500
commit8ec6d62aa58ad6f226317696a74fea7756694a4a (patch)
tree094ac4a037e06a90869ed6a39362ade7c5c33fc6 /compiler
parent81f0665513d65c2d7e544cbe8adeff4b0d6fdfff (diff)
downloadhaskell-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.hs2
-rw-r--r--compiler/GHC/Hs/Expr.hs-boot2
-rw-r--r--compiler/Language/Haskell/Syntax.hs14
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