summaryrefslogtreecommitdiff
path: root/compiler/rename
diff options
context:
space:
mode:
authorRichard Eisenberg <rae@richarde.dev>2019-10-03 23:20:13 +0100
committerRichard Eisenberg <rae@richarde.dev>2019-10-08 12:50:04 +0100
commitbe8d71d07b39f503ba9a7fc66b6735cb1da605c9 (patch)
treef32f4bf55f0a2252cdf3ce716234c4b8e52e5215 /compiler/rename
parent9402608ea5955c70fee51f8b892d418252846a9b (diff)
downloadhaskell-be8d71d07b39f503ba9a7fc66b6735cb1da605c9.tar.gz
Break up TcRnTypes, among other modules.wip/rae/split-up-modules
This introduces three new modules: - basicTypes/Predicate.hs describes predicates, moving this logic out of Type. Predicates don't really exist in Core, and so don't belong in Type. - typecheck/TcOrigin.hs describes the origin of constraints and types. It was easy to remove from other modules and can often be imported instead of other, scarier modules. - typecheck/Constraint.hs describes constraints as used in the solver. It is taken from TcRnTypes. No work other than module splitting is in this patch. This is the first step toward homogeneous equality, which will rely more strongly on predicates. And homogeneous equality is the next step toward a dependently typed core language.
Diffstat (limited to 'compiler/rename')
-rw-r--r--compiler/rename/RnBinds.hs2
-rw-r--r--compiler/rename/RnSource.hs2
-rw-r--r--compiler/rename/RnTypes.hs5
3 files changed, 5 insertions, 4 deletions
diff --git a/compiler/rename/RnBinds.hs b/compiler/rename/RnBinds.hs
index 56caee1a2a..9b93af907b 100644
--- a/compiler/rename/RnBinds.hs
+++ b/compiler/rename/RnBinds.hs
@@ -49,7 +49,7 @@ import NameSet
import RdrName ( RdrName, rdrNameOcc )
import SrcLoc
import ListSetOps ( findDupsEq )
-import BasicTypes ( RecFlag(..) )
+import BasicTypes ( RecFlag(..), TypeOrKind(..) )
import Digraph ( SCC(..) )
import Bag
import Util
diff --git a/compiler/rename/RnSource.hs b/compiler/rename/RnSource.hs
index 1ab80e755a..b59faa5f4d 100644
--- a/compiler/rename/RnSource.hs
+++ b/compiler/rename/RnSource.hs
@@ -52,7 +52,7 @@ import NameEnv
import Avail
import Outputable
import Bag
-import BasicTypes ( pprRuleName )
+import BasicTypes ( pprRuleName, TypeOrKind(..) )
import FastString
import SrcLoc
import DynFlags
diff --git a/compiler/rename/RnTypes.hs b/compiler/rename/RnTypes.hs
index 5f0a1c62c7..425b78d2ed 100644
--- a/compiler/rename/RnTypes.hs
+++ b/compiler/rename/RnTypes.hs
@@ -57,8 +57,9 @@ import FieldLabel
import Util
import ListSetOps ( deleteBys )
-import BasicTypes ( compareFixity, funTyFixity, negateFixity,
- Fixity(..), FixityDirection(..), LexicalFixity(..) )
+import BasicTypes ( compareFixity, funTyFixity, negateFixity
+ , Fixity(..), FixityDirection(..), LexicalFixity(..)
+ , TypeOrKind(..) )
import Outputable
import FastString
import Maybes