diff options
author | Richard Eisenberg <rae@richarde.dev> | 2019-10-03 23:20:13 +0100 |
---|---|---|
committer | Richard Eisenberg <rae@richarde.dev> | 2019-10-08 12:50:04 +0100 |
commit | be8d71d07b39f503ba9a7fc66b6735cb1da605c9 (patch) | |
tree | f32f4bf55f0a2252cdf3ce716234c4b8e52e5215 /compiler/rename | |
parent | 9402608ea5955c70fee51f8b892d418252846a9b (diff) | |
download | haskell-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.hs | 2 | ||||
-rw-r--r-- | compiler/rename/RnSource.hs | 2 | ||||
-rw-r--r-- | compiler/rename/RnTypes.hs | 5 |
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 |